Jeeweb 中shiro验证码启用问题
项目采用jeeweb框架,要启用shiro登陆的验证码功能,调试总是不经有验证就成功登陆,好不容易实现了验证码非空校验,随便输入也能校验成功,以下简述调试经历,做下笔记,欢迎指正。
分析shiro默认加载配置
直接开启验证码不再做次数验证
跟踪发现如下类
RetryLimitHashedCredentialsMatcher中有次数校验,直接去掉、
接下来
JCaptchaValidateFilter.java
跟踪进来多次发现 验证码关键
JCaptcha.validateResponse(httpServletRequest, httpServletRequest.getParameter(jcaptchaParam));
这里简单交代一下 validateResponsehe 和 hasCaptcha区别,
validateResponse():验证当前请求输入的验证码否正确;并从CaptchaService中删除已经生成的验证码;
hasCaptcha():验证当前请求输入的验证码是否正确;但不从CaptchaService中删除已经生成的验证码(比如Ajax验证时可以使用,防止多次生成验证码);
改造:
注意标红处开始是true 不论是否检验成功都直接登陆了,问题找到,改成false 解决。
另还需注意一点:
验证码名称要统一。
Jeeweb 中shiro验证码启用问题相关推荐
- 辛星php函数,辛星和您用更简略的方式去实现PHP中的验证码
辛星和您用更简单的方式去实现PHP中的验证码 说实话,提到验证码我想大家都不会陌生,确实,验证码还是挺常见的,现在搜索一下PHP的验证码类简直是海量的数据,那我们今天就来实现一个自己的验证码把,不过它 ...
- tp中php验证码程序,thinkPHP 验证码生成与验证
您现在的位置是:网站首页>>PHP>>thinkPHP thinkPHP 验证码生成与验证 发布时间:2018-12-06 13:34:11作者:wangjian浏览量:842 ...
- edge无法上网dns_如何在Microsoft Edge中通过HTTPS启用DNS
edge无法上网dns Microsoft will one day enable DNS over HTTPS (DoH) for all Windows applications, but you ...
- Django中示例验证码的实现总结
验证码 在用户注册.登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻业务服务器.数据库服务器的压力. 1)安装包Pillow3.4.1. 1 pip inst ...
- java shiro做页面显示_Java-Shiro(八):Shiro集成SpringMvc、Themeleaf,如何实现Themeleaf视图引擎下解析*.html中shiro权限验证...
我们知道如果是采用jsp视图引擎,直接在jsp中加入shiro的tag就可以,然而在thymeleaf视图引擎下,并未有shiro的tag lib.实际上目前shiro+Thymeleaf的html页 ...
- Spring AOP动态代理实现,解决Spring Boot中无法正常启用JDK动态代理的问题
Spring AOP动态代理实现,解决Spring Boot中无法正常启用JDK动态代理的问题 参考文章: (1)Spring AOP动态代理实现,解决Spring Boot中无法正常启用JDK动态代 ...
- 论坛中的验证码的作用
论坛中的验证码的作用 因为你的WEB站有时会碰到客户机恶意攻击,其中一种很常见的攻击手段就是 身份欺骗_它通过 在客户端脚 本写入一些代码,然后利用其,客户机在网站,论坛反复登陆,或者攻击者创建一个H ...
- 在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式
在Windows Server 2012 R2的Hyper-V中,可以为虚拟机提供一种全新的连接方式,就是"增强会话模式",它将让您更加方便的对虚拟机进行操作,比如分辨率的调整.设 ...
- springBoot中shiro与Redis整合的配置文件
springBoot中shiro与Redis整合的配置文件 整合依赖: < ...
最新文章
- 索尼发布全球首款内置AI传感器,1200万像素,660元起售
- Python中使用ElementTree解析xml
- 多线程间通信之AutoResetEvent和ManualResetEvent的原理分析
- securecrt切换会话(session)的显示方式
- 爬虫学习笔记(七)——Scrapy框架(二):Scrapy shell、选择器
- 收藏:通信网络基础知识
- hdu2457 Trie图+dp
- javascript遍历对象的属性
- STM32F103:三.(3)MPU6050
- scrolling=no 无法根据坐标获取元素_科曼尼KOMANIE三坐标测量仪命令不执行【维修】北京303所...
- 从零基础入门Tensorflow2.0 ----九、44.2 keras加载保存的参数
- 华硕FX50JK4200安装Win8.1后如何禁用触摸板
- c语言ABCDEF前中后序遍历,c语言实现二叉树及前中后序遍历
- echarts世界地图各个国家及中国城市的经纬度数组
- CS academy Binary Flips(dp)
- R语言将dataframe数据中指定数据列的数据从小数转化为百分比表示、数据转换为百分数
- 淘宝自动查券找券返利机器人实现方法分享
- 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I
- java-net-php-python-jsp家具进销存管理系统1计算机毕业设计程序
- python2048游戏的未来展望_不敢想!不敢想!我用Python自动玩转2048游戏