- 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/
我们正在构建一个新的库,它需要对我们的主要身份管理 LDAP 系统进行读/写。 我们正在考虑使用 Spring LDAP ( http://projects.spring.io/spring-ldap
在 LDAP 身份验证的情况下, 是什么?参数 一般用于身份验证 .我想对于通过 ldap 登录的用户来说,使用 DN 会很头疼,因为它太大而无法记住。 使用 uid 或 sAMAccountName
我知道 LDAP 用于提供一些信息并帮助促进授权。 但是 LDAP 的其他用途是什么? 最佳答案 我将重点讨论为什么使用 LDAP,而不是 LDAP 是什么。 使用模型类似于人们使用借书卡或电话簿的方
我正在尝试查询 LDAP 服务器以获取使用 ruby 的 net-ldap 库的任何组的详细信息 require 'rubygems' require 'net/ldap' username =
在使用 spring ldap 模板的 Ldap 搜索中,我返回一个 User 对象,该对象具有保存另一个用户的 dn 的属性之一。并且,User 对象有一些属性需要使用其他用户的 ldap 条目获取
我正在尝试使用例如search_s函数根据对象的完整可分辨名称搜索对象,但我觉得这并不方便。例如, search_s('DC=example, DC=com', ldap.SCOPE_SUBTREE,
LDAP 查询如何工作:-(我)。 Windows Powershell(二). Java JNDI(三)。 SpringLDAP 上述 3 种方法中的 LDAP 筛选器查询是否仅搜索前 1000 条
我们正在使用 spring security 在我们的应用程序中对来自 LDAP 的用户进行身份验证。认证部分工作正常,但授权部分不工作。 我们无法从 LDAP 中检索用户的角色。 来自本书 《 Sp
这个问题在这里已经有了答案: Does the LDAP protocol limit the length of a DN (3 个回答) 关闭8年前。 DN 是否有最大长度?如果我想将它们存储在数
我知道我的谷歌搜索技能让我失望了,因为那里有 必须是这样的:一个简单、易于使用的远程托管目录服务(更好的是,通过几个不同的接口(interface)和 SSO 公开用户目录)。 你知道一个和/或有一个
我有一个使用 JSF 2.1 和 JEE 6 设置的 Web 应用程序,该应用程序在 WebLogic 12.1.2 服务器上运行,并带有用于身份验证的 openLDAP。我一直注意到在应用程序中加载
我的应用程序每天执行一次 LDAP 查询并获取给定容器中的所有用户和组。获取后,我的应用程序将遍历组的用户列表,仅将新用户添加到我的应用程序数据库中(它仅添加用户名)。 如果有 50,000 个用户,
我正在尝试解决一个问题,即尝试通过 LDAP 设置用户密码失败,因为访问被拒绝错误 - 即使我正在使用管理员用户对 AD 进行身份验证。 在 stackoverflow 中找到的答案说,要么我必须以管
我有一个我没有完全权限的 LDAP 服务器和一个我是 root 的具有 LDAP 身份验证的 ubuntu 系统。是否可以将 LDAP 用户添加到本地组? (我不知道我的表述是否正确,但我想要的只是在
我有一个属性(groupIDNumber),我想让它作为自动递增数字工作? 我们如何定义该属性? 感谢您的帮助, -纳米 最佳答案 这不是 LDAP 协议(protocol)的一部分,也不是标准的做法
对“uid”属性执行不区分大小写匹配的语法是什么?如果属性定义很重要,那么它将如何更改?特别是我将 ApacheDS 用于我的 LDAP 存储。 最佳答案 (uid=miXedCaseUSer)将匹配
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我需要有关 LDAP 搜索过滤器的信息来提取嵌套组成员资格。基本上,我的想法是,例如,一个用户属于 5 个组 [A、B、C、D、E]我可以编写单个 LDAP 搜索查询来获取组 [A、B、C、D、E]
我关注了 installing ldap on centos 在我的服务器上设置 LDAP 服务器的指南,完成所有安装步骤后,我执行了 ldapsearch -x -b "dc=test,dc=com
我想编写一个 LDAP 查询来测试用户 (sAMAccountName) 是否是特定组的成员。是否可以这样做以便我获得 0 或 1 个结果记录? 我想我可以获取用户的所有组并测试每个组是否匹配,但我想
我是一名优秀的程序员,十分优秀!