Closed momocstar closed 3 years ago
图片验证码 使用redis存储或默认存储,都没办法消费验证码。
方便看一下调试信息吗?
能够生产图片对吗?
是的,图片正常产生。切换到get请求。才能成功消费验证码。
应该是由于 Post 请求将验证码参数以 RequestBody 的形式传入,导致无法将值传入到方法参数中。
可以尝试将验证码的值单独放进请求路径中,例如 curl -X POST http://localhost/create?code=abc -d "k=v"
计划下个版本支持将验证码参数注入到 @RequstBody 中,感谢您的反馈。
请问还有什么能够帮到你吗?
多谢解答。。
不客气~感谢关注⭐
使用redis存储验证码,在debug模式下还是走了Session验证 验证码模式。
配置文件有进行配置吗?可以参考下面配置:
# 配置 CAPTCHA
dustlight:
captcha:
default:
store:
name: "redisCodeStore" # 设置默认验证码存储器(Bean名称
或者配置 application.properties:
# 配置 CAPTCHA
dustlight.captcha.default.store.name=redisCodeStore
这是错误的配置是吗?
已经解决了,我的配置问题。。
我刚想给你发一份 Demo 😄
经过debug查看,使用post方式请求的时候,走的是HttpSession load方法校验,,我已经配置了redis这些配置啥的。
先检查一下 Redis
数据库有没有验证码被存进去,或者消费完毕后是否被删除。
RedisCodeStore 仅仅是存储和取出验证码的时候使用了 Redis,但是判断当前用户还是通过 sessionId 判断,所以我不确定你的情况是 RedisCodeStore 完全没生效,还是说只是发现了有 HttpSession 的迹象。
如果解决不了,可以与我邮箱联系:hansin@dustlight.cn
现在参数注入已支持对象字段注入,详情请查看:#5
请将依赖升级至 0.0.7
版本。如:
<dependency>
<groupId>cn.dustlight.captcha</groupId>
<artifactId>captcha-core</artifactId>
<version>0.0.7</version>
</dependency>
另外,请问 Redis 存储的问题解决了吗?
简单看了一下源码,已经解决了
请问用的是哪个模块?