当前位置: 首页 > 知识库问答 >
问题:

密码重置和自动重定向

王炜
2023-03-14

我有一个SpringBoot(1.5.6),带有SpringSecurity(4.2)和ThymeLeaf应用程序,允许用户重置密码。所有html页面都在src/resources/templates中。基本流程是:

>

  • 用户提供用户名(通过resetPage.html)
  • 凭证已清除
  • 生成令牌并通过电子邮件发送到用户名电子邮件
  • 用户单击电子邮件中的url将重定向到重置密码页面(changePassword.html),以便用户创建新密码
  • 新密码将发布到服务中,并由以下代码处理:

    @刚需映射(value="/user/SavePassword", method=刚需方法。POST)公共字符串保存密码(区域设置,@请求参数(用户名)字符串用户名,@请求参数(密码)字符串密码,模型){

    //逻辑是这样的。。。

    "返回"登录";}

    在这一点上,一切都按预期进行。数据库已更新,控制台日志中没有错误。

    系统会提示用户进入登录页面(尽管浏览器栏上显示“savePassword”)进行登录。提供用户名和新密码,服务器返回403。控制台中没有错误,唯一表明出错的迹象是Chrome Developer Tools从登录帖子返回403。显示默认错误页面。

    如果我导航到家里

    我不知道错误是从哪里来的,也不知道为什么。我尝试过通过“java-jar”运行IDE调试器,并打开了调试注释。不会生成任何错误或消息。没有会话,用户没有经过身份验证,那么为什么会抛出403(假设通过Spring Security性)?

  • 共有1个答案

    彭俊智
    2023-03-14

    我终于找到了这个。因为日志中没有任何信息,所以我认为是Spring Security framework完成了这项工作。我更新了安全配置以禁用/login页面的CSRF。现在它可以按预期工作。

     类似资料:
    • 介绍 {tip} 想要快速上手? 只需在一个新的 Laravel 应用中运行 php artisan make:auth 命令,然后在浏览器中访问 http://your-app.dev/register 或分配给应用的任何别的 URL。这条命令将搭建起整个身份验证系统,包括重置密码! 大多数 Web 应用都为用户提供了重置密码的功能。相比强迫你在每个应用中都要重实现一遍此功能,Laravel 提

    • 我们已经讲解完了,如果创建,注册用户,激活,修改,删除用户了,看似已经全了,但是我们还缺了一点 那就是为用户提供重置密码! 这个是一个网站必不可少的功能之一吧 我们重置密码,在 sentry 中分成 两步 1、发送 重置代码给用户 2、验证 重置代码,成功则修改密码 首先我们看 第一步 获取重置密码的代码 try { // 根据 email 查找用户 $user = Sentry:

    • 本文向大家介绍MySQL重置root密码,包括了MySQL重置root密码的使用技巧和注意事项,需要的朋友参考一下 我们介绍一种无需密码的重置root密码的方式。 步骤如下: 1、打开配置文件/etc/my.cnf,在mysqld下添加一行skip-grant-tables,如下: 这样我们就可以免密登录MySQL了。 然后保存并退出。 2、重启MySQL 这两个命令2选1: 3、终端输入 mys

    • 我有一个Laravel 5.4应用程序,在我的管理区域有一个视图,允许我查看所有用户。 我想创建一个功能,允许我点击后端的一个按钮,自动发送默认的Laravel密码重置功能。 在我看来,我有以下几点: 在链接点击重置密码这当前通过我的路由点击以下功能 我不太熟悉Laravels的默认密码重置功能,因此我可能有点不熟悉,但我遇到以下错误: 传递给Illumb\Auth\Passwords\Passw

    • 我正在使用带有codeigniter的Ion auth库,并创建了登录、注册、记住我和忘记密码功能(到目前为止)。 对于忘记密码功能,用户输入他们的电子邮件地址,然后向他们发送一封电子邮件,其中包含重置密码的链接。 将打开一个页面,输入新密码和确认密码,当我单击“提交”时,php日志中出现以下错误: 我下载这个库时没有做任何更改,所以想知道我哪里出错了? 谢谢 下面是我的代码来支持这一点: 认证控

    • KeyToolException:无法从存储区“C:\Keystore\Keystore.jks”中读取密钥“app name”密钥:密钥存储区被篡改,或者密码不正确 我最好的解决办法是什么?