silverstripe / activedirectory
Requires
- php: >=5.4
- onelogin/php-saml: ^2.10.7
- silverstripe/framework: ~3.1
- symbiote/silverstripe-queuedjobs: ^3
- zendframework/zend-authentication: ^2.5.1
- zendframework/zend-ldap: ^2.5.1
- zendframework/zend-session: ^2.5.1
Requires (Dev)
- phpunit/phpunit: ~4.8
README
此包已不再维护。
请考虑使用如silverstripe/ldap
的替代方案。
SilverStripe Active Directory模块
简介
此SilverStripe模块提供Active Directory集成。它包含三个主要组件:
- 使用SAML的单点登录认证
- 通过LDAP同步Active Directory用户和组成员资格
- 通过LDAP绑定进行Active Directory认证
这些组件可以任意组合使用,也可以与默认的SilverStripe认证方案一起使用。
要求
- PHP 5.4+,并包含扩展:ldap、openssl、dom和mcrypt
- SilverStripe 3.1
- Windows Server 2008 R2或更高版本的Active Directory (AD)
- Active Directory Federation Services 2.0或更高版本 (ADFS)
- SilverStripe站点的HTTPS端点
- ADFS的HTTPS端点
- Active Directory的SSL/StartTLS加密LDAP端点
此模块已在以下配置上进行了测试:
- Windows Server 2008 R2与ADFS 2.0
- Windows Server 2012 R2与ADFS 3.0
此模块尚未在非Microsoft目录产品(如OpenLDAP)上进行测试。
注意:此模块不支持SilverStripe 4。请使用silverstripe/ldap或silverstripe/saml以实现SilverStripe 4的兼容性。
概述
安全断言标记语言(SAML)是一个基于XML的开放标准数据格式,用于在各方之间交换认证和授权数据。SAML解决的最重要的问题之一是网页浏览器单点登录(SSO)。
使用此模块,SilverStripe站点可以作为SAML服务提供者(SP)实体,从而允许用户对集中式用户目录(一个身份提供者 - IdP)执行单点登录。
此模块的目标对应方是Active Directory Federation Services (ADFS)。ADFS是Microsoft开发的一种软件组件,可以在Windows Server操作系统上安装,以使用户能够跨组织边界访问位于不同位置的系统和应用程序。
ADFS 使用基于声明的访问控制授权模型来维护应用程序安全性和实现联合身份。我们依赖此机制进行身份验证,并将一些基本个人详细信息自动同步到 SilverStripe。
要同步更多个人详细信息,可以使用也包含在此模块中的 LDAP 同步功能。这允许同步任意字段,包括二进制字段,如照片。如果 CMS 中已配置相关映射,则模块还会自动维护 SilverStripe 用户组成员资格,从而为基于 AD 的授权打开道路。
如果无法使用 SAML 身份验证,此模块还提供了一个 LDAP 验证器作为替代方案。
安全
在适当配置下,此模块提供了一种安全的方式来进行身份验证和授权。
在 SAML 身份验证过程中,为了在互联网上安全地通信,用户必须使用 HTTPS 与 SilverStripe 和 ADFS 进行通信。同样,为了使 AD 验证安全,用户必须使用 HTTPS 访问 SilverStripe 网站。
SilverStripe 根据预先共享的 x509 证书信任 ADFS 的响应。这些证书在初始配置阶段在身份提供者(ADFS)和服务提供者(SilverStripe 网站)之间交换。
AD 用户同步和身份验证隐藏在后台(服务器到服务器通信)之后,但仍然必须使用加密的 LDAP 通信来防止窃听(无论是 StartTLS 还是 SSL - 这是可以配置的)。如果 web 服务器和 AD 服务器托管在不同的位置,还可以使用 VPN 来进一步封装通过公共互联网传输的流量。
深入指南
- 开发者指南 - 配置您的 SilverStripe 网站
- ADFS 管理员指南 - 准备身份提供者
- CMS 使用指南 - 管理LDAP组映射
- 故障排除 - 常见问题
变更日志
变更日志可在 CHANGELOG.MD 中找到。