内部网企业SSO用于针对Active Directory的Web应用程序

我正试图在公司环境中规划并实施一个SSO解决scheme,以便在CentOS上运行Intranet Web应用程序:

  • 企业门户(Drupal后端)
  • 项目pipe理(Project.NET)
  • 文档协作系统(Alfresco)
  • 服务台(Redmine)
  • 问题追踪(Atlassian Jira)

通过LDAP对Active Directory成功实施身份validation,因为这些应用程序既可以通过插件提供支持,也可以通过LDAP实现。

鉴于上述所有web应用程序都没有任何稳定的本机SSO插件或模块,我倾向于作为身份提供商和SSO解决scheme的Shibboleth部署。 由于我不确定这是否适合于给定的情况,我想问以下几点:

  • Shibboleth适合作为中间人提供SSOlogin方式:

Active Directory <=域凭据<= Shibboleth => Identity =>应用程序login

  • 据我所知,Shibboleth向应用程序提供的身份validation实际上是通过Web服务器configuration(Apache,Tomcat等)实现的。 这种身份validation只提供查看给定页面内容的权限,或者可以与应用程序身份validation完全集成(如LDAP身份validation工作)?
  • 如果上述身份login实际上正在工作,那么对于经过身份validation的用户的应用程序function仍然可以正常工作,就好像用户正常使用他的域凭据login一样? (例如,Redmine支持在成功的第一次时域用户login的飞行帐户创build)。

身份提供商(IdP)处理对数据库或LDAP服务器的身份validation,并将用户信息传递给应用程序=服务提供商(SP)。

我假定你的意思是使用Shibboleth创build者(称为shibboleth-sp)提供的服务提供者实现与Shibboleth IdP交谈。

这是通过指定在Web服务器configuration中保护哪些资源并通过由SP请求的来自IdP的属性来增加通过应用程序的参数来实现的。 所述属性必须由IdP向发出请求的SP(attribute-filter.xml)释放,并且必须对应用程序有意义。 IdP不进行访问控制,应用程序必须决定如何解释从IdP收到的参数。

所以你要么有一个可以直接与IdP交stream的应用程序(通过SAML2,例如Liferay EE),或者使用shibboleth-sp并使用属性将用户映射到应用程序的angular色模型。

基本情况与使用HTTP身份validation相似,在应用程序中禁用身份validation,并使用参数REMOTE_USER来标识用户。 进一步的数据可以被应用程序在其数据存储中检索。

概述: http : //predic8.com/shibboleth-web-services-sso-en.htm