- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们需要设置一个 CAS 服务器来对我们的应用程序进行 SSO(全部在 JAVA 中)。这是我的情况:
CAS1:现有的 CAS 服务器,基于 ORACLE LDAP(我们无法控制 CAS1 和 LDAP)。我们打算忽略这个。多个应用程序与此 CAS 集成。
CAS2:我们计划设置一个基于 MS Active Directory 的新 CAS 服务器,因为我们有很多新用户。我们计划在 AD 中维护它们。仍然是我们计划使用 CAS2 设置 SSO 的相同应用程序。
我们需要的是来自现有 LDAP 和我们新 AD 的用户都可以通过 SSO 登录到应用程序。
有没有简单的方法,比如设置我的新 CAS 以同时使用 LDAP 和 AD。这样双方的用户都可以登录我们的应用程序。如果可能的话,这是我认为更好的方法。有详细的例子吗?
我可以在两个 CAS 之间设置联盟吗? Jasig CAS 有可能吗?
求助!非常感谢!
最佳答案
是的,CAS 可以针对多个来源进行身份验证。在您的 authenticationManager
bean 中,您应该有一个名为 authenticationHandlers
的属性;在那里,定义多个 AuthenticationHandler
beans。对于我的设置,我有一个本地文件(用于监视来自 Munin/Nagios 的用户)身份验证处理程序和一个 BindLdapAuthenticationHandler
:
<property name="authenticationHandlers">
<list>
<!-- This is the authentication handler that authenticates
services by means of callback via SSL, thereby validating
a server side SSL certificate. -->
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" />
<bean class="org.jasig.cas.adaptors.generic.FileAuthenticationHandler" p:fileName="${cas.localuser.file}" />
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler"
p:timeout="10000"
p:filter="${ldap.auth.filter}"
p:searchBase="${ldap.base.dn}"
p:ignorePartialResultException="true"
p:contextSource-ref="contextSource"
p:searchContextSource-ref="searchContextSource"
/>
</list>
</property>
只需为您想要验证的其他内容添加更多验证处理程序。查看https://wiki.jasig.org/display/CASUM/LDAP对于 CAS LDAP 处理程序和 https://wiki.jasig.org/display/CASUM/Active+Directory用于 CAS Active Directory 处理程序。
按照其工作方式,CAS 将尝试按顺序对每个处理程序进行身份验证。第一个成功的将导致成功的 CAS 登录。因此,如果您在 LDAP 中有一条 uid=jsmith 的记录,在 AD 中有一条 cn=jsmith 的记录,并且它们都有相同的密码,那么在 CAS 中首先定义的那个总是获胜!因此,您应该确保您的系统之间没有登录 ID 冲突,否则您可能会面临一些不良副作用(尤其是当 LDAP 中的 jsmith 与 AD 中的 jsmith 不是同一个人时)。
如果您使用 SAML 验证(例如 mod_auth_cas
),您可能还有其他考虑因素。您可以定义一个 attributeRepository
bean,它列出了一个人的记录在进行身份验证时要返回的属性,并且服务使用 /samlValidate
验证票证。我不知道是否有可用的 bean 类可以让您从多个目录中提取数据,但如果您不使用 samlValidate
,这对您来说可能不是问题。
那么有没有更好的方法呢?好吧,如果可能的话,请归结为一个身份验证真实来源。
关于 CAS 联盟:没有。您可以设置服务器,使它们信任彼此的票证,但我建议使用一个 CAS 环境(如果需要,可以集群化)对尽可能少的身份验证真实来源进行身份验证。
关于ldap - 一台Jasig CAS服务器可以配置两个LDAP吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23123256/
我是 SSO 新手,我希望安装 Jasig CAS 演示 Web 应用程序并能够在其中登录。纯粹的研究和测试。我已经使用 https://wiki.jasig.org/display/CASUM/Se
我有六个应用程序,我正在使用 Jasig CAS 来验证它们。 Jasig CAS 的单点登录对我来说非常有用。 另一方面,单点登录对我不起作用。当我从其中一个应用程序注销时,我无法从根域访问其他应用
我们在 SSO(单点登录)身份验证方面遇到一些问题。我们使用 JASIG CAS,但我们的实现无法正常工作。它警告“您当前正在通过非安全连接访问 CAS。单点登录将不起作用。为了让单点登录工作,您必须
我正在尝试使用 Facebook OAuth2.0 配置 Jasig CAS4.0。 在不使用 facebook 的情况下,默认用户名“casuser”和密码“Mellon”工作正常。 我换了
我已经安装了 Jasig CAS 服务器,但无法登录。 有人可以告诉我默认凭据吗?如何查找凭据? 最佳答案 您可以使用具有相同用户名和密码的默认帐户 如果您在 LDAP 或 DB 中使用帐户,您可以在
我必须构建一个集中式身份验证和授权服务。我正在尝试使用 JASIG CAS。但它提到它是一个身份验证协议(protocol)。我的场景如下。 我的应用程序在第一次访问时重定向到 cas 服务器。 CA
我正在尝试通过 CAS 服务器设置单点登录。我想使用数据库身份验证,因为我有使用通过 MySQL 进行身份验证的 spring security 的现有应用程序。 我正在按照 official sit
老实说不确定标题是否足够描述性,所以这里是正文: 背景故事 我正在使用 Spring 框架重建 Web 应用程序。但是,旧应用程序在 PHP 上运行。 有一个宽限期,两个应用程序将同时运行,因此我将慢
我在从 java cas (JA-SIG) 检索属性时遇到问题。它总是返回空值。 下面是我的代码。我猜是 attributeRepository bean 从未被调用,因为我将表名更改为错误的,它运行
我想配置 Jasig CAS 以使用 BCrypt 作为密码编码器。 环顾四周,我发现这可以完全由 Spring Framework 处理,但我不熟悉它。 据我所知,我只需要将 spring-secu
我的单点登录效果很好,但单点注销不起作用。 场景是这样的: 打开 webapp1 并重定向到 CAS 登录页面 输入详细信息并登录 打开同样使用 CAS 的 webapp2。自动登录,因为用户已经登录
我在 Spring 应用程序中使用 Jasig CAS。 CAS 身份验证过滤器 bean 的配置如下所示: IE。一方面,身份验证过滤器将重定向到 casServerLoginUr
我们目前正在尝试在 JBoss EAP 6.3.0 服务器上部署 CAS 4.0.1。 登录 webflow 是定制的,以便根据调用 CAS 进行身份验证的服务重定向到特定的登录表单。根据这些形式,我
我正在制作一个测试项目,为我们 future 的项目尝试 Spring Boot。 我们正在使用 jasig CAS,我正在尝试使用 spring boot 和嵌入式 tomcat 服务器进行配置。
有没有人成功地将 Spring Social 框架(http://www.springsource.org/spring-social)集成到 JASIG CAS 单点登录解决方案(http://ww
我正在使用 JASIG CAS 通过 liferay 进行 SSO 登录。现在,当我直接尝试登录时,它工作正常,因为重定向是通过 CASFilter 进行的。它重定向到 CAS 登录页面,登录成功后,
我有一个 .NET 4.0 MVC 3 站点,该站点当前设置为针对较旧的 3.4.4 Jasig CAS 服务器进行身份验证。我只是尝试更新配置以连接到较新的 3.5.1 服务器(该服务器已经使用了一
我尝试使用 jasig CAS 对 Web 服务进行单点登录。 我使用 spring 过滤器为 web 应用程序做了安全性,但我不知道如何在服务器端使用 web 服务。 最佳答案 我们使用其余客户端
在同一个 Tomcat 服务器 (tomcat-7.0.54) 上部署了三个 Grails 应用程序,并且在几天 (3-4) 天后,我们似乎在记录后的一个或两个应用程序中陷入了重定向循环in. 一个应
我对 Java 知之甚少,更不用说 JASIG CAS 了。 我们正尝试在我们的 CentOS 6 服务器上实现 CAS。我们收到以下错误: java.io.FileNotFoundException
我是一名优秀的程序员,十分优秀!