问题标签 [spring-security-cas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
776 浏览

spring-security - 使用 Spring Security CAS 扩展实现 SSO 时的问题

我正在尝试使用 Spring Security CAS 扩展对我的应用程序上的用户进行身份验证。之前只有一个应用程序,因此不需要 SSO。现在还有一个应用程序,我希望用户登录一次并使用所有应用程序,而无需再次通过身份验证(基本上是 SSO)。我有一堆这样的问题-

  • 我拥有的所有应用程序都是单个 tomcat 容器的一部分,将通过同一个域提供服务。我检查了 Tomcat SSO Valve,但它似乎需要基于容器的身份验证,我不确定是否要将其用于身份验证/授权。我正在使用基于弹簧安全表单的登录。我真的需要像 Jasig CAS 这样的东西还是会有点矫枉过正?

Spring Security 和 CAS deployerContext 配置 - http://pastie.org/8408976http://pastie.org/8408967

  • 我使用 Jasig 服务器设置了 Spring Security CAS,SSO似乎可以正常工作,因为登录到任何应用程序都足以访问其他应用程序。我已经修改了 deployerConfigContext.xml 以将 inMemoryServiceRegistryDaoImpl 替换为 JPA / Hibernate 之一。但我总是在我的日志中看到以下行。尽管已经在我的数据库中创建了表(SERVICETICKET 等)。当我尝试登录和注销时,这些表总是空的。

    2013-10-17 16:41:18,882 INFO [org.jasig.cas.services.DefaultServicesManagerImpl] - <Loaded 0 services.>

  • 当我尝试访问 URLhttps://localhost/cas/services时,它返回错误“此网站有重定向循环”。我看到下面的文章在日志中重复了 n 次(带有不同的票号)- http://pastie.org/8408940

  • 我没有任何 REST 或无状态服务访问经过身份验证的资源,我是否需要代理票证?

注意:我使用的是 Spring Security 3.1.4.RELEASE 和 CAS server 3.5.2 版本。任何指针都会有所帮助。

0 投票
1 回答
1119 浏览

spring-security - 为 CasAuthenticationFilter 设置 Pre auth 过滤器

我为几个应用程序设置了 Spring Jasig CAS SSO。这使用CasAuthenticationFilter. 所以我设置了这样的网络应用程序 -

Cas Server (Cas 3.5.2) - Cas.war,App1 - App1.warApp2 - App2.war. 应用程序使用 Spring 3.2.3 和 Spring Security 3.1.4.RELEASE。

Spring Security Config: http: //pastie.org/private/qxcx1h8i9ys0w3lmwegiw

使用此设置似乎可以正常工作。现在,当我在 Cas 服务器上启用 OAuth(不是通过 Spring Cas)时,我无法将该身份验证与我设置的通常基于表单的身份验证集成。Facebook OAuth 集成似乎工作正常,因为我可以看到在日志中成功检索到 Facebook 个人资料属性。问题是发布 facebook 登录后,CasAuthenticationFilter 尝试使用类似的基于表单的登录机制对用户“FacebookProfile#XYZXYZ”进行身份验证,显然它没有在用户的数据库表中找到该用户。我的猜测是我需要编写一个自定义过滤器,该过滤器AbstractPreAuthenticatedProcessingFilter在之前扩展并带有位置PRE_AUTH_FILTER(检查上面的粘贴配置)并且应该以某种方式设置Authentication正确,所以CasAuthenticationFilter应该知道用户已经登录。

这是根据CasAuthenticationFilter日志验证的 URL -/j_spring_cas_security_proxyreceptor?pgtIou=PGTIOU-1-pR9r9LVJvB5EkezbMJHN-talenteye.in&pgtId=TGT-2-QXvAHIRciBNR9HU5FOvpOaHcJaBj5OJTUPPz5ZwA7yK1xH54iL-myorg.in

requiresAuthentication的实现CasAuthenticationFilter看起来像这样:

日志说 -

我对如何使这项工作一起工作感到困惑。我想知道我是不是把事情复杂化了。任何指示都会非常有帮助,因为我已经在这上面浪费了几天时间。

0 投票
1 回答
5739 浏览

spring-security - 自定义 Spring CAS j_spring_cas_security_check URL

我正在使用 CAS 3.5.2 和 Spring CAS 扩展。我正在尝试将j_spring_cas_security_check(以及用于注销的类似)URL更改为security_check. 我在Spring 文档中读到

我认为这只是一个虚拟 URL,可以通过在我的 Spring Security 配置中将其设置为 bean 的service属性值来更改它org.springframework.security.cas.ServiceProperties,但是在更改之后我的 CASSSO开始中断。我在客户端或服务器端没有看到任何异常。

更改此默认路径时是否缺少任何明显的步骤?

0 投票
1 回答
3069 浏览

session-timeout - 带有 CAS 的 Spring Security - SessionTimeout 配置

我已经用 CAS 实现了 Spring Security,并试图配置会话超时。我看到设置值ticketExpirationPolicies.xml将对此有所帮助。我尝试过配置值,但会话永远不会过期。我也尝试过设置会话过期web.xml。这是我的spring-application-context配置:

我在 web.xml 中有单点注销配置:

0 投票
1 回答
1045 浏览

spring-security - 带有 CAS 和表单登录的 Spring Security

我正在编写一个应用程序,该应用程序需要对员工使用 CAS 身份验证,并为客户使用用户名/密码表单登录(根据数据库表进行验证)。

这个想法是首页会有一个链接,可以将它们发送给员工的 CAS(“如果您是员工,请单击此处”),并且在该用户名和密码框下方供非员工使用。

我有这两个在单独的测试应用程序中工作 - 基于 Spring Security 中的示例应用程序 - 但不清楚如何将两个 AuthenticationProviders 合并为一个。

当前配置 - 主要来自添加了表单配置的 CAS 配置:

这给出了错误消息:

如何将两个过滤器都放入链中?还是我需要编写自己的过滤器(不知何故?)知道正在选择哪种方法,然后委托相关的特定过滤器?

我是 Spring Security 的新手,所以有没有更好的方法来完全做到这一点?

谢谢!

0 投票
1 回答
2208 浏览

grails - java.lang.NullPointerException with spring security cas

我已经使用 spring-security-core 和 spring-security-ldap 成功设置了我的应用程序。但是,当我安装 spring-security-cas 插件以连接到 cas 服务器时,我一直在循环中不断收到 java.lang.NullPointerException,而错误不断重复。

我在 Config.groovy 中有以下内容:

这是我得到的错误:

提前感谢您的帮助

0 投票
2 回答
1342 浏览

grails - Spring-security-cas 插件单点注销不起作用

我对 grails 很陌生,我正在开发一个带有 Spring-Security-Core 和 Spring-Security-CAS 插件的应用程序。

单点登录按预期工作,但我在单点注销时遇到了麻烦。

我有两个应用程序,当我登录 cas 或任何一个应用程序时,我可以毫无问题地访问这两个应用程序。但是,当我尝试使用 app1/logout 或 app2/logout 注销时,只有 cas 和调用 /logout 的应用程序会话关闭,我仍然可以通过其他应用程序导航。

示例:通过 cas 登录记录 app1 通过 cas 票证验证记录 app2 从 app1 注销 -> app1 和 cas 会话已关闭,但 app2 仍处于登录状态(应在此处注销)

任何人都知道如何解决它?


更新

当我登录我的两个应用程序并尝试从一个应用程序中注销时,我可以在 localhost_access_log.txt 中看到这些帖子调用:

我相信从我的两个应用程序中注销就足够了,但 app2 没有注销,只有 app1 (app)

欢迎任何建议=D

谢谢

0 投票
1 回答
788 浏览

grails - Grails-SpringSec 依赖于不在 Maven Central 中的 JAR?

我正在尝试将 Grails 应用程序配置为使用最新的稳定SpringSec-CAS 插件,但我终生无法找到 SpringSec 和我应该使用的插件的正确版本。

我在 Grails 2.3.6 上。我应该包括什么BuildConfig.groovy来获得最新的稳定版本?我有:

当我指定 SpringSec 2.0-RC2 和 SpringSec-CAS 2.0-RC1 时,运行时出现以下错误grails run-app

我认为我的存储库设置不正确...?如何修改我BuildConfig.groovy的以从 Maven Central 中提取这些部门?

运行 Grails 依赖报告:

仍然不能 100% 确定问题是什么。

0 投票
0 回答
1278 浏览

grails - 成功登录后,Grails Spring Security 未重定向到保存的请求

我有一个Grails 2.2.5应用程序,它使用Grails Spring Security 1.2.7.3Spring Security LDAP 1.0.6Spring Security CAS 1.0.5插件进行身份验证/授权。登录、角色、单点登录都可以正常工作。但由于某种原因,应用在通过 CAS 登录后不会重定向到请求的 URL。我没有将配置设置为始终使用默认目标。

我打开了日志记录,它报告它正在保存请求:

这实际上是正确的 URL。但是,登录后,日志记录会报告以下内容:

和...

然后应用程序继续重定向到/index.gsp,这是不正确的(它应该转到/bookstoreAdmin.

以下是我的配置设置,然后是完整的日志记录:

弹簧安全配置:

记录:

0 投票
0 回答
118 浏览

spring - 添加到 jasig cas 3.5.2 的安全控制器

我的任务是向我们的 CAS 服务器添加密码更改功能,但对 CAS 和 Spring 来说都是新手。我已经成功地将一个多动作控制器添加到叠加层,但我不知道如何保护视图并要求用户在查看页面之前进行身份验证。到目前为止,这是我添加到 CAS 覆盖项目中的内容:

web.xml

cas-servlet.xml

我相信我在 securityContext.xml 中缺少映射,但我在那里尝试的所有内容都以无休止的重定向循环结束,或者在所有情况下都只是访问被拒绝的消息。

任何建议将不胜感激。

谢谢