快速理解shiro的认证

Posted woxbwo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速理解shiro的认证相关的知识,希望对你有一定的参考价值。

shiro的认证:

流程图:

技术图片

采用测试用例的方式快速开始:

单元测试注解的执行顺序:

@BeforeClass -> @before -> @Test ->@After ->@AfterClass

测试代码:

public class IsSpringbootShiroApplicationTests 
    private DefaultSecurityManager defaultSecurityManager = new
            DefaultSecurityManager();
    private SimpleAccountRealm realm = new SimpleAccountRealm();
    @Before
    public void init ()
        //初始化数据源
        realm.addAccount("woxbwo","123");
        realm.addAccount("zbbiex","456");

        //构建SecurityManager的执行环境
        defaultSecurityManager.setRealm(realm);
    

    @Test
    public void testAuthentication() 
        SecurityUtils.setSecurityManager(defaultSecurityManager);

        //获取当前主题 application 或者 user
        Subject subject = SecurityUtils.getSubject();

        //用户名密码
        UsernamePasswordToken usernamePasswordToken = new
                UsernamePasswordToken("zbbiex","456");
        subject.login(usernamePasswordToken);

        //获取认证结果
        boolean res = subject.isAuthenticated();

        System.out.println("认证结果为:"+res);

    

测试结果:

17:43:51.857 [main] DEBUG org.apache.shiro.session.mgt.AbstractValidatingSessionManager - No sessionValidationScheduler set.  Attempting to create default instance.
17:43:51.857 [main] INFO org.apache.shiro.session.mgt.AbstractValidatingSessionManager - Enabling session validation scheduler...
17:43:51.863 [main] DEBUG org.apache.shiro.session.mgt.DefaultSessionManager - Creating new EIS record for new session instance [org.apache.shiro.session.mgt.SimpleSession,id=null]
认证结果为:true

 

 

以上是关于快速理解shiro的认证的主要内容,如果未能解决你的问题,请参考以下文章

springboot集成shiro实现用户登录认证

spring项目篇5----shiro以及实现登陆认证

理解这9大内置过滤器,才算是精通Shiro

理解这9大内置过滤器,才算是精通Shiro

002 使用固定信息模拟认证过程--理解认证的过程

Shiro源码分析----认证流程