CAS 和子域的问题
我在使用 CAS 和子域(Java 客户端)时遇到一些问题。
如果我将 web.xml 配置中的 serverURL 设置为 http://foobar.net:8080/,服务适用于 http://foobar.net:8080/xxxxx 形式的任何内容。
但是,如果我尝试使用子域,即 http://test.foobar.net:8080/ xxxxx,它会将我重定向回 http://foobar.net:8080/。
CAS 登录页面上的服务 GET 变量显示不带子域的 URL(即 URL 编码形式 http://foobar.net :8080/)。
对出了什么问题有什么想法吗?
编辑:有什么想法吗?
I've having some issues using CAS with sub-domains (Java client).
If I have the serverURL in web.xml config set to http://foobar.net:8080/, the service works fine with anything in the form of http://foobar.net:8080/xxxxx.
However, if I try to use a sub-domain, i.e. http://test.foobar.net:8080/xxxxx, it redirects me back to http://foobar.net:8080/.
The service GET variable on the CAS login page displays the URL without the subdomain (i.e. URL encoded form of http://foobar.net:8080/).
Any ideas of what is going wrong?
EDIT: Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您找到解决方案了吗?我对 CAS 身份验证过滤器不是很熟悉,但是,根据文档,我没有看到按照您需要的方式配置过滤器的方法。
https ://wiki.jasig.org/display/CASC/Configuring+the+JA-SIG+CAS+Client+for+Java+in+the+web.xml
我确实知道直接访问 CAS 库(通过Java对象)将提供解决办法,因为您可以控制重定向过程,但我认为不建议这样做。如果您想进一步了解该文档(非常非常过时)可能会提供一些指导:
https://wiki.jasig.org/display/CASC/Using+the+basic+Java+CAS+Client+objects
您还可以需要看看您正在使用的客户端版本的 API 文档。
无论如何,如果您找到了实现此功能的方法,请记住在 CAS 服务管理器中为子域 URL 创建一个新服务。
我希望这有帮助:)
Did you ever find a solution for this? I'm not very familiar with CAS Authentication Filters, however, based on the documentation, I don't see a way of configuring the filter in the way you need.
https://wiki.jasig.org/display/CASC/Configuring+the+JA-SIG+CAS+Client+for+Java+in+the+web.xml
I do know that accessing the CAS library directly (via Java objects) would provide a work around, as you have control over the redirect process, but I don't think this is recommended. This doc (which is very, very out-of-date) may provide some guidance if you want to pursue it further:
https://wiki.jasig.org/display/CASC/Using+the+basic+Java+CAS+Client+objects
You'd also need to take a look at the API doc for the version of the client you're using.
In any event, if you find a way to get this working, remember to create a new service for the sub-domain URL in your CAS service manager.
I hope this helps :)