Apache Shiro认证(三)

总的参考文档:http://shiro.apache.org/reference.html
本文参考文档:http://shiro.apache.org/authentication.html

1、概念

本文介绍Shiro功能特性中的身份认证部分,上图中绿色的一块。身份认证就是根据用户提供的身份以及凭证验证它的合法性。有两个概念:

  1. Principals:用户的身份,简单理解就是用户名。
  2. Credentials:简单理解就是用户的密码,或者其它能证明用户身份的东西。

2、Login

前文说过,在具体的应用中用Subject代表一个用户,认证的过程可以分成三步:

  1. 收集用户Principal与Credential。
  2. Subject将收集到的Principal与Credential提交给SecurityManager进行身份验证。
  3. 确认验证结果,是否通过身份验证。

2.1.收集用户Principal与Credential

示例代码:

//Example using most common scenario of username/password pair:
UsernamePasswordToken token = new UsernamePasswordToken(username, password);

//"Remember Me" built-in: 
token.setRememberMe(true);

首先username与password怎么来的,代码中并没有写。实际上Shiro并不关心它们是怎么来的,常见的情况是用户通过浏览器提交了表单,应用从表单中拿到的数据。拿到数据后,将它们转换成UsernamePasswordToken实例。UsernamePasswordToken是 org.apache.shiro.authc.AuthenticationToken接口的具体实现。实际上这个UsernamePasswordToken实例最终会被传递给Realm,Rea

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值