Shiro验证码检测
来源:互联网 发布:手机淘宝抢购要刷新吗 编辑:程序博客网 时间:2024/05/18 02:40
1、使用kaptcha验证码组件,将所需要的开发包配置到项目之中;
2、需要自定义一个“org.apache.shiro.web.filter.authc.FormAuthenticationFilter”它的子类,而后覆写该类中的指定方法。
/** * 在已有的Form认证授权器基础上扩展一个新的子类 * @author mldn */public class CustomerFormAuthenticationFilter extends FormAuthenticationFilter { @Override protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception { // 1、如果要想取得在Session中出现的验证码,则必须取得HttpSession接口对象 HttpServletRequest req = (HttpServletRequest) request ; HttpSession session = req.getSession() ; // 取得当前的session对象 String rand = (String) session.getAttribute("rand") ; // 取得生成的验证码 // 2、取得用户提交表单过来的验证码数据 String code = request.getParameter("code") ; if (rand == null || code == null || "".equals(rand) || "".equals(code)) { request.setAttribute("code", "验证码不允许为空!"); return true ; // 拒绝访问,不再进行用户名或密码的检测 } else { if (!code.equalsIgnoreCase(rand)) { // 验证码输入错误 request.setAttribute("code", "验证码输入错误!"); return true ; } } return super.onAccessDenied(request, response) ; // 操作继续向后执行 }}
3、修改已有的表单登录检测器:
<!-- 此处表示使用内置的表单登录控制验证 --> <bean id="formAuthenticationFilter" class="cn.filter.CustomerFormAuthenticationFilter"> <!-- 定义出需要使用的参数,此参数与表单一一对应 --> <property name="usernameParam" value="mid"/> <property name="passwordParam" value="password"/> <property name="rememberMeParam" value="rememberMe"/> <property name="loginUrl" value="/loginUrl.action"/> </bean>
0 0
- Shiro验证码检测
- Shiro在web的授权检测(权限角色验证)
- Shiro实现验证码认证
- Shiro入门-整合验证码
- java鬼混笔记:shiro 7、shiro验证码功能
- idea+maven+ssm+shiro开发shiro权限登录,验证码
- Shiro(3)实现验证码认证
- Shiro学习(22)集成验证码
- Shiro(3)实现验证码认证
- Shiro学习(22)集成验证码
- 结合shiro 的图形验证码生成
- 【笔记】shiro中的验证码设置:
- Shiro第六篇【验证码、记住我】
- Apache Shiro 验证
- shiro 验证授权
- shiro 修改验证
- Apache Shiro 验证
- shiro权限验证标签
- 【noip2010】codevs 1069 关押罪犯(二分+BFS染色||并查集)
- ArrayList特有方法
- Enable Unattended Upgrades for Debian Linux
- C++指针与数组
- LinkedList特有方法
- Shiro验证码检测
- 排序算法-直接插入排序
- 程序员值得收藏和推荐的一些平台网站
- 协议森林
- Tinking in java读书笔记---关于继承和设置jdk的一个小小错误
- 1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪
- maven 安装
- ZedBoard之GPIO详解
- Android图片加载神器之Fresco,基于各种使用场景的讲解