2013-05-29 81 views
1

Grails 2.2.2,插入spring-security核心和CAS插件。在grails中获取CAS认证响应

假设我已经使用快速启动脚本设置了spring-security-core,所以我拥有User,Role和UserRole表。 CAS已经建立并且适用于这些表格中表示的用户。

当有问题的用户访问时,他们使用CAS进行重定向探戈,这表示他们没问题,并在CAS插件进行票证验证时返回用户名。但是,因为用户名并未在我的用户表中表示,所以根据spring-security验证失败,所以我无法获得授权用户或委托人等。

但是,我想接受CAS验证,即使有问题的用户不在我的用户表中,因此没有角色。我相信这个CAS服务器。

如何获取CAS票证验证步骤的答复?如果我可以这样做,我可以使用CAS提供的名称创建一个用户并分配一些合理的默认角色。

回答

0

创建您自己的实现org.codehaus.groovy.grails.plugins.springsecurity.GrailsUserDetailsService的UserDetailsS​​ervice。它应该基于传递到loadUserByUsername的用户名创建一个新的UserDetails,而不是检查用户表。将它设置为名称为userDetailsService的spring bean,它应该覆盖默认的GORM实现。

+0

谢谢,这正是我最终做的。作为参考,Grails插件文档实际上对此非常详细(一旦您找到它们)。要查看的地方在Spring Security Core的文档中,而不是CAS插件。 http://grails-plugins.github.io/grails-spring-security-core/docs/manual/guide/11%20Custom%20UserDetailsS​​ervice.html – npskirk