zoukankan      html  css  js  c++  java
  • 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");
        }
    }
  • 相关阅读:
    Linux 命令查找文件中某个字段所存在的位置
    PHP in_array() 函数
    php一维数组如何追加到二维数组
    电脑切换窗口
    微擎前端逻辑判断的时弹框
    JDBC批量处理
    数据库事务
    处理BLOB
    JDBC自动生成主键值
    JDBC的元数据
  • 原文地址:https://www.cnblogs.com/xk920/p/10790954.html
Copyright © 2011-2022 走看看