shiro学习笔记(9)——验证码+RememberMe

 5.17 验证码

  5.17.1 思路

shiro使用FormAuthenticationFilter进行表单认证,验证校验的功能应该加在FormAuthenticationFilter中,在认证之前进行验证码校验。

 

需要写FormAuthenticationFilter的子类,继承FormAuthenticationFilter,改写它的认证方法,在认证之前进行验证码校验。

 

  5.17.2 自定义FormAuthenticationFilter

shiro学习笔记(9)——验证码+RememberMe_第1张图片

 

 

 

​​​​​​​  5.17.3 配置自定义FormAuthenticationFilter

shiro学习笔记(9)——验证码+RememberMe_第2张图片

 

shiro学习笔记(9)——验证码+RememberMe_第3张图片

 

 

​​​​​​​  5.17.4 在login.action对验证错误 进行解析

shiro学习笔记(9)——验证码+RememberMe_第4张图片

 

 

​​​​​​​  ​​​​​​​5.17.5 在登陆页面添加验证码

shiro学习笔记(9)——验证码+RememberMe_第5张图片

 

 

 

​​​​​​​  5.17.6 在filter配置匿名访问验证码jsp

shiro学习笔记(9)——验证码+RememberMe_第6张图片

 

 

 ​​​​​​​​​​​​​​5.18 记住我

用户登陆选择“自动登陆”本次登陆成功会向cookie写身份信息,下次登陆从cookie中取出身份信息实现自动登陆。

  ​​​​​​​5.18.1 用户身份实现java.io.Serializable接口

向cookie记录身份信息需要用户身份信息对象实现序列化接口,如下:

shiro学习笔记(9)——验证码+RememberMe_第7张图片

 

 

​​​​​​​​​​​​​​5.18.2 配置rememeberMeManager

shiro学习笔记(9)——验证码+RememberMe_第8张图片

 

 

shiro学习笔记(9)——验证码+RememberMe_第9张图片

 

​​​​​​​​​​​​​​  5.18.3 登陆页面

shiro学习笔记(9)——验证码+RememberMe_第10张图片

 

 

​​​​​​​  5.18.4 配置rememberMe的input名称

shiro学习笔记(9)——验证码+RememberMe_第11张图片

 

 

 

  ​​​​​​​​​​​​​​5.18.5 测试

 

自动登陆后,需要查看 cookei是否有rememberMe

shiro学习笔记(9)——验证码+RememberMe_第12张图片

 

 

​​​​​​​​​​​​​​  5.18.6 使用UserFilter

如果设置记住我,下次访问某些url时可以不用登陆。将记住我即可访问的地址配置让UserFilter拦截。

shiro学习笔记(9)——验证码+RememberMe_第13张图片

 

 

 

你可能感兴趣的:(shiro)