Shrio框架的认证

本文详细介绍了使用Shiro进行用户认证的过程,包括从接收用户名密码到最终认证通过的步骤。涵盖了请求映射、主题获取、令牌创建、数据库查询、认证信息创建及返回等关键环节。

Shiro 的认证方式

1.@RequestMapping() 获得页面传过来的用户名和密码

代码如

@RequestMapping(value = "login.do", method = RequestMethod.POST)
    public String doLogin(String loginName, String loginPwd) {

2.获得一个登陆对象

Subject subject = SecurityUtils.getSubject();

3.获得一个令牌Token(如同你要开门你就需要一把钥匙)

UsernamePasswordToken token = new UsernamePasswordToken(loginName, loginPwd);

这两个参数就是用户的登录名和密码

注意参数名要和页面的字段一样

4.开始登录    如同我去开门需要钥匙

登录对象调用一个login的方法

    subject.login(token);

5.在自己自定义的域里面自动认证

获得令牌里面的登录名

String loginName = (String) token.getPrincipal();

6.将拿到的值在数据库中查询,

UserInfo userInfo = userInfoMapper.selectByLoginName(loginName);

判断查询结果是否为空

if (userInfo == null) {
            return null;
        }

7.创建一个SimpleAuthenticationInfo对象

SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(userInfo, userInfo.getLoginPwd(),"");

三个参数(对象,数据库查询出的密码)

8.将info返回

return info;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值