mah*_*ich 6 java saml shibboleth opensaml
我收到了几个SAML实施问题,以澄清我的困惑......
我需要在java web应用程序中实现SSO.
为了做到这一点,我需要我的主机上安装Shibboleth的SP 像这样,我也可以通过提供的OpenSAML SP的功能?
我假设shibboleth与OpenSAML一样,但只是在Web服务器级别,而OpenSAML将在软件方面执行.这个假设是否正确?
编辑:所以shibboleth(根据Scott Cantor)是用OpenSAML构建的......我的假设是否仍然存在?
使用OpenSAML需要什么?只是IdP网址和idP注册?
我是否需要提供SP目录,例如ActiveDirectory/LDAP?
编辑:感谢您的回答,但有人可以直接回答上述问题并详细说明......
jbi*_*del 13
更新以解决您的修改:
以下是您可以使用的一些SAML 2选项.
Shibboleth的SP是一个产品,它实现SAML 2.0你,但OpenSAML只是一个库与您可以实现一个SAML 2.0的解决方案.该库本身是低级的,甚至不是一个SSO解决方案.OpenSAML本身不是SAML 2.0解决方案.
要使用OpenSAML或任何 SAML 2.0解决方案,您需要交换元数据,如下所述.使用OpenSAML,您还必须为自己的MetaData手动生成XML文件.如下所述,这将是一项很多工作.SAML 2.0产品将为您生成该XML MetaData文件,并生成用于加密和签署SAML 2.0断言的所需RSA密钥.使用OpenSAML,您将获得API支持以加载部分XML文件和API,以生成和解析您的断言,但您将编写实际构建SSO交互的Java代码.
该SP也并不一定需要ActiveDirectory的/ LDAP,但你需要在跟踪用户的Web应用程序的某些类型的目录.如果您的Web应用程序已经拥有一些具有某些识别信息的用户概念,您可以使用这些识别信息将其与IdP的用户概念相关联,那么您可以根据SAML 2.0断言中的属性值来映射Web应用程序中的那些信息.(如果您的Web应用程序不关心用户是谁,那么您只需允许基于用户"有效"访问应用程序.)
-
将Shibboleth2 SSO与Java Web应用程序集成并不太困难.使用OpenSAML实现SSO会起作用,但与将Apache服务器与Shibboleth集成相比,要付出更多的努力.
使用Shibboleth要求您启用Apache2并启用Shibboleth模块,并且安装了Shibboleth SP守护程序.通常,这些将在同一个盒子上.如果您使用Tomcat来托管Java Web应用程序,那么我建议您使用mod_proxy_ajp在Apache2 HTTP服务器和Tomcat之间进行通信.这样,您可以将Shibolleth提供的变量作为servlet Request属性.(您必须在shibboleth2.xml中将变量前缀设置为"AJP_".)
Shibboleth SP软件包已经处理了您可能遇到的所有标准SAML SSO方案,但是尝试在Java应用程序中直接实现OpenSAML中的一个方案,从使其运行起来以及确保其安全性都充满了危险.如果您使用OpenSAML,还会增加Web应用程序的大小.值得注意的是,Shibboleth SP不是用Java编写的,所以你不会有使用OpenSAML的例子,但是你可以通过查看Shibboleth IdP代码获得一些见解,这是一个Java Web应用程序.
在任何一种情况下,您都需要与您的身份提供商交换您的SP元数据(使用Shibboleth SP软件包轻松创建),并在您的SP上获取身份提供商的元数据(只需设置一个Shibboleth SP软件包,也很容易) MetadataProvider).
一旦您习惯使用它,Shibboleth在线文档将为您提供很多帮助.
如果您可以使用Shibboleth SP软件包而不是使用OpenSAML库实现SAML 2 SSO解决方案,我认为您将获得更大的成功机会.我不能谈论其他所有Java SAML 2 SSO解决方案,但与简单的Shibboleth 2 SP相比,它们看起来都很大,而且过于企业化.
小智 3
使用 OpenSAML 需要什么?只需 IdP URL 和 idP 注册?
您需要 Java 和 Web 容器,并在您的 war 中包含 opensaml 库。
您需要在本地缓存 IdP 元数据,或者每次要发送 AuthnRequest 或处理 SAMLResponse 时查找它。此外,您还必须在 IdP 端注册 SP 元数据。
如果您使用 Shibboleth 作为 IdP,则应在 conf/relying-party.xml 文件中设置 SP 元数据。
我是否需要提供 SP 目录,例如 ActiveDirectory/LDAP?
为了登录IdP,您需要在IdP端设置ldap或数据库服务器,并在conf/attribute-resolver.xml和conf/login.config中进行配置。
| 归档时间: |
|
| 查看次数: |
6666 次 |
| 最近记录: |