我在使用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(即http://foobar.net:8080/的URL编码形式)。
关于出了什么问题的任何想法?
编辑:有什么想法吗?
答案 0 :(得分: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创建新服务。
我希望这会有所帮助:)