Jasig CAS:页面在第 5 次尝试登录时重新加载
Jasig CAS: page reloads on 5th attempt to login
有CAS+LDAP授权系统
我的登录页面在第 5 次错误登录尝试时重新加载。例如,如果我尝试使用错误的密码登录 1 到 4 次,只有 password 字段被清除。第 5 次尝试页面重新加载(即使密码正确)并且 username 和 password 字段都被清除。
而且此时CAS和LDAP都没有日志输出。
我花了两周时间寻找解决方案,但没有找到。
感谢提前。
P.S。对不起我的英语:)
------------编辑---------
在 Ioannis Baourdos' 回答之后:
我的自定义 casLoginView.jsp
[= name="execution"
和 value="${flowExecutionKey}"
的隐藏字段 72=]
我也检查了第 5 次尝试登录。如果我手动重新加载页面,我会在这里看到相同的输出。
在我的网络浏览器中,我反复检查了 name="execution"
值。这里的值:
操作 -> 值
1) 打开页面 -> e1s1
2) 第一次错误尝试 -> e1s2
3) 第二次错误尝试 -> e1s3
4) 第三次错误尝试 -> e1s4
5) 第 4 次错误尝试 -> e1s5
6) 下一次正确或错误的尝试(提交后页面重新加载)-> e7s1
逻辑上某处有一些值为“5”的参数。我还没找到...
问题仍未解决 ;)
------------已解决---------
我的自定义 css 中有 link 不存在的 .png 文件。
更多关于建议 (2)
我自己到处搜索参数 5。
然后我恢复使用 jasig 的默认 UI/theme 并且没有发生重定向。所以就我而言,我 100% 确定我的代码有问题。
我保持原样,继续生产,然后我有了一个新的 CAS 集成案例,它再次使用不同的自定义表单实现。
5 变成了 2 ...相同的版本等等。所以我跳进了 firefox 上的篡改数据以查看到底发生了什么。
在第一种情况下,它是我使用的自定义 CSS,它试图加载另一个不存在的 CSS。
在第二种情况下,我已将 JQuery 升级到 1.10,并将脚本标记放在 /includes/top.jsp。我也没有包含 /jsp/cas.js 文件。
使用 firebug 我注意到这个 JS 文件要求
@sourceMappingURL=jquery-1.10.2.min.map
我的 JS 文件夹中缺少它。
长话短说,当我以与 CAS 默认 UI 相同的顺序移动我的 JS 包含在 bottom.jsp 并且在我删除/修复所有相关 imports/includes 从我的自定义 JS/CSS 文件中,问题停止了。
-- 旧 --
如果您正在设计自定义登录表单,则可能存在导致重定向的视图案例。
新建议(1)
在某些情况下会发生这种情况。
如果启用日志记录,您可能会注意到在第 5 次后弹出:
'initialFlowSetupAction'
在这种情况下,最常见的问题是您使用的是自定义表单而忘记设置 'flow' 隐藏字段。
<input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}" />
或 3.5.2
<input type="hidden" name="execution" value="${flowExecutionKey}" />
新建议(2)
我最近也 运行 遇到了一个奇怪的案例......我使用的是自定义 CSS
已正确加载但它包含对丢失文件的导入:
@import url(ui.datepicker.css);
这也通过 TamperData(2 次调用 cas/login)和 firebug、302 从 ui.datepicker.css[=12= 的请求重定向到 cas/login 中得到证明]
ps。这是我的第一个 post :)
有CAS+LDAP授权系统
我的登录页面在第 5 次错误登录尝试时重新加载。例如,如果我尝试使用错误的密码登录 1 到 4 次,只有 password 字段被清除。第 5 次尝试页面重新加载(即使密码正确)并且 username 和 password 字段都被清除。
而且此时CAS和LDAP都没有日志输出。
我花了两周时间寻找解决方案,但没有找到。
感谢提前。
P.S。对不起我的英语:)
------------编辑---------
在 Ioannis Baourdos' 回答之后:
我的自定义 casLoginView.jsp
[=name="execution"
和value="${flowExecutionKey}"
的隐藏字段72=]
我也检查了第 5 次尝试登录。如果我手动重新加载页面,我会在这里看到相同的输出。
在我的网络浏览器中,我反复检查了
name="execution"
值。这里的值:
操作 -> 值
1) 打开页面 -> e1s1
2) 第一次错误尝试 -> e1s2
3) 第二次错误尝试 -> e1s3
4) 第三次错误尝试 -> e1s4
5) 第 4 次错误尝试 -> e1s5
6) 下一次正确或错误的尝试(提交后页面重新加载)-> e7s1
逻辑上某处有一些值为“5”的参数。我还没找到...
问题仍未解决 ;)
------------已解决---------
我的自定义 css 中有 link 不存在的 .png 文件。
更多关于建议 (2)
我自己到处搜索参数 5。 然后我恢复使用 jasig 的默认 UI/theme 并且没有发生重定向。所以就我而言,我 100% 确定我的代码有问题。
我保持原样,继续生产,然后我有了一个新的 CAS 集成案例,它再次使用不同的自定义表单实现。
5 变成了 2 ...相同的版本等等。所以我跳进了 firefox 上的篡改数据以查看到底发生了什么。
在第一种情况下,它是我使用的自定义 CSS,它试图加载另一个不存在的 CSS。
在第二种情况下,我已将 JQuery 升级到 1.10,并将脚本标记放在 /includes/top.jsp。我也没有包含 /jsp/cas.js 文件。
使用 firebug 我注意到这个 JS 文件要求 @sourceMappingURL=jquery-1.10.2.min.map
我的 JS 文件夹中缺少它。
长话短说,当我以与 CAS 默认 UI 相同的顺序移动我的 JS 包含在 bottom.jsp 并且在我删除/修复所有相关 imports/includes 从我的自定义 JS/CSS 文件中,问题停止了。
-- 旧 -- 如果您正在设计自定义登录表单,则可能存在导致重定向的视图案例。
新建议(1)
在某些情况下会发生这种情况。 如果启用日志记录,您可能会注意到在第 5 次后弹出: 'initialFlowSetupAction'
在这种情况下,最常见的问题是您使用的是自定义表单而忘记设置 'flow' 隐藏字段。
<input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}" />
或 3.5.2
<input type="hidden" name="execution" value="${flowExecutionKey}" />
新建议(2)
我最近也 运行 遇到了一个奇怪的案例......我使用的是自定义 CSS 已正确加载但它包含对丢失文件的导入: @import url(ui.datepicker.css);
这也通过 TamperData(2 次调用 cas/login)和 firebug、302 从 ui.datepicker.css[=12= 的请求重定向到 cas/login 中得到证明]
ps。这是我的第一个 post :)