shiro整合谷歌验证码

  • 引入验证码

$("#changeCaptcha").attr("src","http://localhost:8080/fireweb/fire/captcha?uuid="+uuid);

设置一个image框,调取方法

 

然后controller中调取service方法

注意要在此文件夹下创建配置类

否则service中的producer无法注入

注意设置相应的实体类和mapper文件

 

  • 进行验证

1.因为shiro封装了验证方法,使其只有username和password,所以我们需自己重写验证的方法,

继承了formAuthenticationFilter,因为我们后台需要uuid来进行数据库中验证码的比对,所以还同时传入了uuid,uuid实现方法是在jsp中写入了一个隐藏域,每次加载页面时调用一个函数生成uuid赋值给隐藏域。(注:为了让request.getParamter获取到值,要注意表单中input的命名与后台一致)。

2.同时shiro中userleam中调用的usernamepasswordToken只有用户名密码,所以我们需自定义token来进行写入uuid和验证码

  1. 配置文件修改

同时下面的配置也应该改成我们的过滤器名字,而且注意的是要在底下把我们获取验证码的路径改为anon,否则会因为没有登录而被拦截。

  1. 在userealm中写相关判断

整体修改的文件如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值