Shiro(学习记录一)

什么是Shiro?

Apache的强大灵活的开源安全框架

认证、授权。企业会话管理、安全加密、缓存管理

一般都是用shiro快速完成功能模块里的权限管理的开发

 

 


 

 

 

 代码体现:

public class AuthenticationTest {
    //SimpleAccountRealm不支持添加权限
    SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();

    //在认证之前先在Realm中添加一个用户
    @Before
    public void addUser(){
        simpleAccountRealm.addAccount("lyf","123qwe","admin","user");
    }

    @Test
    public void testAuthentication(){
        //认证第一步
        //1.构建SecurityManager环境
        DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
        //将Realm设置到环境中
        defaultSecurityManager.setRealm(simpleAccountRealm);

        //2.由主体来提交认证请求
        //设置主体SecurityManager环境
        SecurityUtils.setSecurityManager(defaultSecurityManager);
        //通过工具类获得主体
        Subject subject = SecurityUtils.getSubject();
        //获得主体之后,提交认证,即登录
        //这里用UsernamePasswordToken存认证数据
        UsernamePasswordToken token = new UsernamePasswordToken("lyf","123qwe");
        //进行登录认证
        subject.login(token);

        System.out.println("是否认证:" + subject.isAuthenticated());

        /*//退出登录
        subject.logout();

        System.out.println("是否认证:" + subject.isAuthenticated());*/

        //检查用户是否具备角色
//        subject.checkRole("admin");
        subject.checkRoles("admin","user");
    }
}

 

posted @ 2019-04-30 17:30  X凯  阅读(132)  评论(0编辑  收藏  举报