Grails spring 安全重定向到错误的端口

2024-01-09

在我的 Grails 应用程序 (2.3.11) 中,我的登录页面将 Ajax 请求发送到:

https://myurl/my-app/j_spring_security_check https://myurl/my-app/j_spring_security_check

但 spring-security 重定向到:

https://myurl:80/my-app/login/ajaxSuccess https://myurl:80/my-app/login/ajaxSuccess

这会导致超时错误(因为 URL 上添加了端口 80)。 仅当我的客户通过其流量管理器(Big-IP)访问应用程序时,才会出现此问题;如果他们直接通过服务器 IP 访问应用程序,则应用程序可以正常工作。

我可以在 Grails 中进行任何配置来解决这个问题吗?我不确定这个问题是否与应用程序或Big-IP有关。

这些是我与 spring-security 插件相关的配置(Config.groovy):

grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/login/authSucccessExtJs'
grails.plugins.springsecurity.successHandler.alwaysUseDefault = true
grails.plugins.springsecurity.failureHandler.defaultFailureUrl = '/login/authFailExtJs?login_error=1'
grails.plugins.springsecurity.password.algorithm = 'MD5'

问题是您的应用程序正在接收 http 流量,因为您正在 BIG-IP 上卸载 ssl,因此它会将 http 链接返回到您的客户端。有一些潜在的解决方案。

  1. 配置 grails 将所有 URL 设置为 https,即使请求是 http
  2. 插入标题X-Forwarded-Proto: https(如果 grails 遵循这一点)通过本地流量策略或 iRule 在 BIG-IP 上(您可以通过在此处插入标头来从curl 测试这一点,看看是否有帮助)
  3. 通过流配置文件或 iRule 将 https 重写为 BIG-IP 上的 http URL,以响应流量。这对于 AJAX 来说可能会产生很大的问题,但在其他情况下也是可以的,但是,选项 1 或 2 会更高效且维护更少。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grails spring 安全重定向到错误的端口 的相关文章

随机推荐

  • AspNetCore中间件UserManager依赖注入

    我有一个多层应用程序 是我开始在 ASP NET Core 1 1 中编写的 我仍在不断学习 我像以前在 Web API 中所做的应用程序一样组织它 我有主机服务 网络核心应用程序 业务层和数据库之上的数据层 业务层和数据层是 net co
  • JQuery/Javascript 重新排序行

    我有一个 aspx 页面 看起来像这样 tr td Some label td td Some complex control td tr tr td Some label td td Some complex control td tr
  • 同一类上的两个类别具有相同的方法名称

    我注意到 UIImageView 上的 AFNetworking 和 SDWebImage 类别具有相同的方法名称 AF网络 void setImageWithURL NSURL url self setImageWithURL url p
  • Django 站点地图和“普通”视图

    也许我不明白站点地图的目的 或者也许我不明白如何使用站点地图 现在 我的站点地图包括所有 动态 创建的页面 例如博客文章 但是如何添加 静态 页面 例如我的索引和联系页面 或者这些视图不应该出现在站点地图中吗 我认为所有页面都应该在站点地图
  • 将文件解压到内存的最佳 Api

    我正在开发一个 Qt 应用程序 我们必须读取压缩文件或 QByteArrays 并将它们解压缩到内存中 读取文件内容而不实际将文件解压缩到磁盘 有没有好的sdk可以轻松实现这一点 我们目前使用 QArchive 无错误 但我们发现它根本不是
  • 通过命令行运行时如何连接到数据库

    当我从浏览器运行 zend 框架项目时 一切正常 它连接到数据库 当我从命令行运行项目时 它无法连接到数据库并引发错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE HY000 2002 没有这样的文件或目录
  • 测试中的 NestJS 全局模块

    有没有办法自动提供所有 Global模块成TestModule 即无需导入它们 与主应用程序的工作方式相同 到目前为止 我必须确保将任何全局模块插入到import我的通话清单 await Test createTestingModule i
  • 尝试使用 linq 转换数据[重复]

    这个问题在这里已经有答案了 我有以下类结构 public class TaskLog public DateTime LogDate get set public string Robot get set public string Tas
  • 联合内位域的对齐

    我对以下代码如何在内存中布局感到有点困惑 struct Thing union unsigned value 24 uint8 t bytes 3 Thing int v value v void foo printf Thing p va
  • WAMP 中不考虑更改 my.ini 文件上的 datadir

    我通常不会问这个问题 但我却用这个问题来撞墙 我正在尝试设置 WAMP 以与 Dropbox 配合使用 我已经使用过这两个教程 http mymediamagnet com how to setup wamp with dropbox ht
  • 云数据融合预览环境

    我们可以配置计算配置文件以在我创建的自定义集群上运行管道 但是对于预览 我无法指定计算配置文件 我需要使用一些自定义转换 这需要我在 data proc 集群上安装一些外部 jar 才能使代码正常工作 我想在使用 预览运行 部署代码之前对其
  • 使用驼峰路由提供静态文件

    我正在尝试在骆驼路线中提供静态文件 我的主类中的路由包含这段代码 public final void configure throws Exception declaring camel routes match on uri prefix
  • AJAX 提交之前的 jQuery 验证

    我有一个简单的注册表单 其中包含以下 jQuery 验证代码 document ready function registerForm validate rules Username required true minlength 6 Pa
  • Ember.js:查看监听按键事件

    在我的应用程序中 我有一个包含一些设置信息的面板 该面板通过单击按钮打开 关闭 但我也希望能够通过点击关闭它esc在键盘上 我的视图的代码如下所示 Social MainPanelView Ember View extend element
  • Android:保存试用申请信息

    我想保存一些有关试用版应用程序的信息 我希望此信息持久存在 以便检测用户是否删除了该应用程序并在试用期满后再次安装 存储此类信息的最佳位置是什么 thanks 大多数时候 这个问题的解决方案是进行服务器端检查 但如果您不想使用服务器 最好在
  • SQL - 删除电话号码中的括号

    我正在尝试从号码的区号中删除括号 我可以这样做 但是当我尝试连接两个 Replace 函数时 数字会重复 仅删除一个括号 这是我到目前为止所尝试的 SELECT HomePhone REPLACE HomePhone REPLACE Hom
  • Windows 和 Mono 上的 SQLite?

    读完问题后如何有条件地为 Mono 和 Microsoft NET 编译 C https stackoverflow com questions 329043 how can i conditionally compile my c sha
  • 将函数应用于 R 中的距离矩阵

    这个问题今天出现在 manipulatr 邮件列表中 http groups google com group manipulatr browse thread thread fbab76945f7cba3f 我正在改写 给定一个距离矩阵
  • 使用 setTimeout 提高响应能力

    当寻求提高页面性能时 我以前从未听说过的一项技术是使用 setTimeout 来防止 javascript 阻碍页面的呈现 例如 假设我们有一段特别耗时的 jQuery 内嵌在 html 中 input click function Do
  • Grails spring 安全重定向到错误的端口

    在我的 Grails 应用程序 2 3 11 中 我的登录页面将 Ajax 请求发送到 https myurl my app j spring security check https myurl my app j spring secur