首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails CAS和REST设置

Grails CAS和REST设置
EN

Stack Overflow用户
提问于 2015-01-29 16:56:08
回答 1查看 336关注 0票数 0

我刚刚开始使用Grails,我还在努力理解它。在我的系统中,我有两种类型的控制器,普通控制器和rest控制器。如果ananymous用户在通常的控制器中执行操作,我希望该用户被重定向到CAS服务,在那里他将进行身份验证。然后,CAS应该使用票证重定向回我的系统。对于票证,我必须请求完全相同的服务来提供经过身份验证的实体的标识符(SSN)。有了SSN,我必须请求其他服务给我定义该用户权限的组。然后,我必须检入到第三个服务,以获取有关该用户的所有附加信息,并在我的数据库中创建一个用户条目。在完成所有这些工作并使整个过程顺利进行之后,用户的工作流程应该继续下去。如果针对rest控制器的操作执行请求,则应返回403 headered json格式的错误。整个过程是无状态的。Auth token应保留在headers中,token应存储在客户端。我认为这是一个相当自定义的用户身份验证解决方案,这就是当我不喜欢自动的时候的那种情况,唉,我在这里

所以我现在的位置。我在我的grails应用程序中添加了3个插件:

代码语言:javascript
复制
compile ":spring-security-core:2.0-RC4"
compile ":spring-security-cas:2.0-RC1"
compile ":spring-security-rest:1.4.1"

我设置了以下配置(域名模糊):

代码语言:javascript
复制
grails.plugin.springsecurity.userLookup.userDomainClassName = 'package.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'package.UserRole'
grails.plugin.springsecurity.authority.className = 'package.Role'
grails.plugin.springsecurity.cas.loginUri = '/login'
grails.plugin.springsecurity.cas.serverUrlPrefix = 'https://example.com'
grails.plugin.springsecurity.cas.proxyCallbackUrl = '${grails.serverURL}/secure/receptor'
grails.plugins.springsecurity.cas.serviceUrl ="/j_spring_cas_security_check"

但我非常确定,我到处都错过了一些和平的东西。它现在在做什么?现在,未经授权的用户被重定向到/auth/login,通常的spring安全登录表单会在那里欢迎我进行身份验证。我希望我能把这种行为关掉。

首先,我想问一下,我如何才能让spring security将我重定向到CAS进行身份验证,而不是通常的身份验证。

其次,我想问一下如何处理为身份验证过程实现自定义行为的问题。

第三,谁能用两句话解释一下什么是spring安全的过滤器和上下文?也许有一些文章深入解释了整个过程是如何工作的。

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2015-01-29 20:48:06

有一个bug被报道和讨论:https://jira.grails.org/browse/GPSPRINGSECURITYCAS-4#issue-tabs长话短说,一个人必须从cas插件参数中复制所有默认的配置参数。这会导致cas插件正确初始化。

我将继续寻找其他两个的修复/解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28210514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档