使用shiro框架的项目增加忘记密码功能遇到的一些问题

在使用Shiro框架的项目中,开发忘记密码功能时遇到问题。前端AJax请求需在application.yml中配置匿名接口,否则会收到302错误。配置完成后,未登录状态下可通过调用后端接口修改密码。前端使用弹窗方式实现,login.jsp中添加样式并调用findPwd()方法。在findPwd.js中进行弹窗初始化、后端接口调用、密码加密和校验等操作。
摘要由CSDN通过智能技术生成

开发忘记密码功能遇到的问题

在这里插入图片描述
后端验证功能用的是shiro框架,当前端发送AJax请求到后端,如果在application.yml文件中没有将找回页面所需要调用的接口配置为匿名,那么这些接口不会不调用,在浏览器的开发者模式下,也可以看到该接口会报302错误。
在这里插入图片描述
所以我们需要在项目的yml文件中配置该接口的匿名配置
在这里插入图片描述
自此,在未登录的状态下,通过调用后端接口修改密码的功能完成。
接下来是前端js遇到的问题
首先是要写html代码,设置忘记密码页面的样式。我这采用的是弹窗方式。
在login.jsp文件中添加忘记密码的样式,点击的话会调用findPwd()方法
在这里插入图片描述

findPwd: function () {
   
            require(["artDialog","Tips"],function () {
   
            var dialogObj = dialog({
   
                url: App.contextPath + "/findPwd.htm",
                title: '找回密码',
                quickClose: false,
                width: 400,
                height: 350,
                okValue:'确定',
                cancelValue:'取消',
                ok: function () {
   
                    $(window.parent.document).contents().find("#" + dialogObj.id)[0].contentWindow.pageObj.save();
                    return false;
                    },
                cancel:function () {
   
                    return true;
                    }
                });
                pageObj.dialogObj = dialogObj;
                dialogObj.showModal();
            });
        },

这段代码是findPwd()方法的jsp代码,里面new了一个dialog,设置了dialog的样式。

 url: App.contextPath + "/findPwd.htm",

这个url配置的是findPwd()方法调用的js脚本文件的路径。

				okValue:'确定',
                cancelValue:'取消',
                ok: function () {
   
                    $(window.parent.document).contents().find("#" + dialogObj.id)[0]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值