java - 在 Spring Boot 中,如何在不使用基于表单的登录时配置重定向而不是返回 403 禁止
问题描述
我有一个作为 oauth2 授权服务器运行的 Spring Boot 应用程序,以及一个用于其他端点的资源服务器。以前,人们会使用标准的基于表单的登录方式登录。
我正在重构它以使用自定义登录端点,这一切都很好。有一段 Javascript 让人们登录的过程稍微顺畅一些(即,它检测人们是否需要填写多因素身份验证代码而无需通过多个屏幕,以及其他一些可用性内容)
但是现在我想禁用标准的基于表单的登录,因为它只是一个可能很危险的向量,而且我们也不想自己使用它。然而,这也意味着我需要删除这部分:
.formLogin()
.permitAll()
.loginPage("/")
.failureHandler(new CustomAuthenticationFailureHandler())
.successHandler(successHandler())
.and()
但是,之后在我的标准 oauth 代码端点 /oauth/authorize 上,当有人尚未登录时(即没有有效的 cookie),现在他们收到 403 错误。这是可以理解的,因为它说再也没有地方可以回去"/"
了。但我仍然希望用户最终到达那里,因为那里仍然是提供索引页面和 Javascript 的地方,以便人们可以从那里登录。
我现在该如何配置?
解决方案
推荐阅读
- pytorch - torchvision MNIST HTTPError:HTTP 错误 403:禁止
- arduino - 如何识别和区分 Arduino 中的单击、双击和三次单击?
- sql - 如何使用 params[:sort] 值按联接表列对 ActiveRecord 集合进行排序
- vue.js - Vue 模板与 Vue jsx
- python - 如何在运行配置中传递多个 pytest 命令行选项
- javascript - AJAX 返回整个 html - 我怎样才能只返回一个值?
- javascript - 如何修复随机填充的 HTML 表格?
- java - Android - 根据格林威治标准时间设置时间数据
- .net - MimeKit.MimeMessage 的哪个客户端?
- python - 用 Pandas 将列向量和行向量等同起来