我正在使用具有Spring安全核心和Spring Security CAS插件的grails应用程序。我已经设置了具有数据库身份验证的jasig CAS服务器。到目前为止,如果我直接通过CAS与数据库中的用户一起登录,效果很好。
我遇到的问题是当我尝试从grails应用程序登录时。我成功重定向到CAS页面,在登录后,我被发送回我的grails应用程序,但凭据错误。
在CAS服务器的tomcat日志中,我具有以下跟踪信息:
2015-01-21 10:55:59,182 WARN [org.jasig.cas.authentication.PolicyBasedAuthenticationManager] - <Cannot find authentication handler that supports http://localhost:8080/myGrailsApp/secure/receptor, which suggests a configuration problem.>
以下是我在grails中的设置:
grails.plugin.springsecurity.cas.serverUrlPrefix = 'https://localhost:8443/cas'
grails.plugin.springsecurity.cas.loginUri = '/login'
grails.plugin.springsecurity.cas.proxyReceptorUrl = '/secure/receptor'
grails.plugin.springsecurity.cas.serviceUrl = 'http://localhost:8080/myGrailsApp/j_spring_cas_security_check'
grails.plugin.springsecurity.cas.proxyCallbackUrl = 'http://localhost:8080/myGrailsApp/secure/receptor'
这是一个具有有效的spring安全性的现有项目,我们已经使用了一段时间,现在尝试将其移至单点登录。
我的CAS服务器或grails应用程序中缺少什么设置?在设置我的CAS服务器时,我遵循了数据库身份验证处理程序的默认设置。
谢谢你的帮助!
您真的需要使用CAS代理功能吗?因为CAS错误表明CAS服务器未配置为处理代理回调,而CAS客户端配置为使用代理(我猜:proxyReceptorUrl
和proxyCallbackUrl
属性)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句