码迷,mamicode.com
首页 > 其他好文 > 详细

007 shiro实现登录

时间:2018-04-05 20:55:53      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:rda   body   密码   账号   null   throws   count   cte   except   

一 .概述

首先自定我们的realm.

public class ShiroRealm extends AuthorizingRealm{

    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
        return null;
    }

    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
        return null;
    }

}

现在我们加入我们的业务逻辑.

首先是认证部分:

 

@Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
        UsernamePasswordToken utoken = (UsernamePasswordToken) token;
        String username = utoken.getUsername();
        String password = new String(utoken.getPassword());
        User user = userdao.selectUserByUsername(username);
        if(user == null) {
            throw new UnknownAccountException("账号不正确!");
        }
        if(user.getLocked()==Boolean.TRUE) {
            throw new LockedAccountException("账号被锁定!");
        }
        //密码校验
        SimpleHash hash = new SimpleHash("MD5",username , user.getSalt(),1);
        if(!user.getPassword().equals(hash.toString())) {
            throw new IncorrectCredentialsException("密码不正确");
        }
        SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(username ,password ,getName() );
        return info;
    }

 

以上的部分我们就可以完成shiro的登录了.

 

007 shiro实现登录

标签:rda   body   密码   账号   null   throws   count   cte   except   

原文地址:https://www.cnblogs.com/trekxu/p/8724153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!