美文网首页
shiro——从ini文件得到当前执行的用户

shiro——从ini文件得到当前执行的用户

作者: 年轻人Moriarty | 来源:发表于2017-03-18 10:49 被阅读0次

核心jar包 shiro.ini

shiro.ini:


[users]
zb=123
lwk=1

身份认证代码:

// 读取配置文件shiro.ini,初始化SecurityManager工厂
        Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");

        // 获取SecurityManager实例
        org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();

        // 把绑定SecurityManager实例绑定到SecurityUtils
        SecurityUtils.setSecurityManager(securityManager);

        // 得到当前执行用户
        Subject currentUser = SecurityUtils.getSubject();

        // 创建token令牌,用户名/密码
        UsernamePasswordToken token = new UsernamePasswordToken("zb", "123");

        try {
            // 身份认证
            currentUser.login(token);
            System.out.println("身份认证成功!" + token.getUsername());
        } catch (IncorrectCredentialsException e) {
            System.out.println("登录密码错误");
        } catch (ExcessiveAttemptsException e) {
            System.out.println("登录失败次数过多");
        } catch (LockedAccountException e) {
            System.out.println("帐号已被锁定");
        } catch (DisabledAccountException e) {
            System.out.println("帐号已被禁用");
        } catch (ExpiredCredentialsException e) {
            System.out.println("帐号已过期");
        } catch (UnknownAccountException e) {
            System.out.println("帐号不存在");
        }
        // 退出
        currentUser.logout();

相关文章

网友评论

      本文标题:shiro——从ini文件得到当前执行的用户

      本文链接:https://www.haomeiwen.com/subject/vyrunttx.html