Shiro_认证思路分析

时间:2022-07-12 14:27:49

【认证】

也就是登录。

 

1.获取当前的subject,调用SecurityUtils.getSubject()

2.测试当前的用户是否已经被认证,即是否登录。调用subject的isAuthenticated()。

3.若没有被认证,则把用户名和密码封装成UsernamePasswordToken对象。

1)创建一个表单页面

2)把请求提交到Spring MVC的Handler

3)获取用户名和密码

4.执行登录。电泳Subject 的login(AuthenticationToken)方法。

5.自定义Realm的方法,从数据库中获取对应的记录,返回给Shiro。

1)实际上需要继承org.apache.shiro.realm.AuthenticatingRealm类

2)实现doGetAuthenticationInfo(AuthenticationToken)方法

6.由Shiro完成对密码的比对。