扩展:LDAP身份验证/智能卡配置示例

来自MyaWiki.Org
跳转到导航 跳到搜索

关于-要求-实例-配置选项-更新日志-路线图-建议-用户提供的信息-常见问题-支持

群组和偏好示例-通用LDAP实例-活动目录示例-智能卡实例-Kerberos实例


MeimaWiKi扩展手册
OOJS用户界面图标
LDAP认证
发布状态: 稳定的
实施 用户身份
描述 提供LDAP身份验证和MyaWiKi的一些授权功能
作者(S) Ryan Lane瑞安巷说话
最新版本 2.1.0-(2018~10-11)
兼容策略 硕士
维基百科 1.19 +
数据库更改
许可证 GNU通用公共许可证2或以后
下载
翻译LDAP认证扩展如果在TurtLeWik.NET中可用
检查使用和版本矩阵。
问题 打开任务·报告错误

LDAP认证扩展1.1支持MyaWiKi 1.6 +中的智能卡(SSL客户端)身份验证。对于那些处于过渡期的插件,如果需要的话,插件支持智能卡和密码验证的混合。本文将介绍几种配置Apache的不同方法,以及几种配置扩展的不同方法。

如果不需要LDAP支持,只需要智能卡/SSL身份验证支持,这不是对您的扩展;请参见SSL认证扩展.

这个扩展的部分是基于SSL认证扩展以及SigbBurt认证扩展.

扩展是什么[编辑]

当使用智能卡登录时,LDAP身份验证扩展将执行以下步骤:

  1. Apache验证智能卡是由可信CA签名的,并从卡中提取信息。
  2. LDAP扩展从APACHE获取有关卡的信息
  3. 然后,LDAP扩展从卡中获取信息,并使用代理或匿名凭据搜索LDAP目录以供用户使用。
  4. LDAP扩展获取用户条目,并使用该条目中的属性作为MyaWiKi用户名。
  5. 扩展然后从数据库中拉用户并记录他/她,或者创建用户。

在搜索用户时,可以添加额外的搜索字符串/属性,以确保用户不被禁用,或者有任何用户需要登录的角色/属性。还可以检查组成员资格。

在对用户进行认证之后,可以从LDAP中提取偏好和其他用户/组信息。密码验证支持的所有特性都应该用于智能卡验证。

一般配置[编辑]

Apache配置将需要MODYSSL或MODYNSS。LDAP扩展配置将要求使用PROXYAGER和PROXYAGER代理密码(也支持匿名搜索)。用户不能真正地绑定到LDAP服务器,不能依赖用户的凭据。

对于智能卡认证工作,Apache必须被设置为信任某些证书颁发机构(CAS),以便使用“SSLCACReTimeCeFiFILE”和“SSLCurror文件”指令进行客户端身份验证。如果您处于宿主环境中,这可能是一个限制因素,因为这只能在服务器或虚拟主机级别定义。

如何使用MODYSSL/MODYNSS建立HTTPS的知识超出了本文档的范围,将被视为一个先决条件。只有智能卡特定的指令将被讨论。

Apache配置[编辑]

在下面两个Apache配置中,当用户访问您的wiki时,它们将自动登录。使用这些配置,您无法混合密码和智能卡验证。用户将需要拥有智能卡。

用于智能卡的Apache配置保护整个服务器或虚拟主机[编辑]

如果您的MODYSSL配置处于全局或虚拟主机级别,则在您的其他MODYSSL指令之后添加以下指令:

SSLVIEFIFY客户机需要sSLVIFIFY深度1×SLSRealRESL SL SLCACRIFTICICFETFILE /路径//CAT CRS.SSLRACOVATIOSTFILATION/PATT/OT/CRLs.crl

Apache配置用于智能卡保护Wiki目录[编辑]

这将是非常非常缓慢的,因为Apache每次用户访问这个位置/目录下的任何页面时都会检查用户的智能卡。以下可以放置在全局或虚拟主机级别:

SSLCACReTimeCtFielFiels/Poto/C.CRT.SSLReLogObjtFrase/PATT/OT/CRL.CRL*<目录“/PATS/OT/WIKI/”>选项“无允许”无允许,拒绝允许来自所有SsReleServsSsLVIEFIFY客户机要求sSLVIFIFY深度1</Directory >

Apache配置允许智能卡登录而不保护整个服务器、虚拟主机或wiki[编辑]

下面的配置将只在用户访问Wiki文章“智能卡登录”时自动登录用户。这允许您混合密码验证域和智能卡认证域,或者允许您在没有上面位置/目录方法的开销的情况下允许智能卡登录到特定的wiki。

sScCaseReTimeCeFiFiely/Poto/C.CRT.SSLReLogObjtFrase/PATT/OT/CRL.CRL*<位置“/ wiki / index .php/StaskCudioLogin”> sSListReSursS.sSLVIFIFY客户端要求sSLVIFIFY深度10</位置>

基本LDAP扩展配置[编辑]

下面的示例使用ActiveDirectory。

要求一次 美元IP/扩展/ LDAPoAuto认证.php 
要求一次 美元IP/扩展/ LDAPValue.php 

$WGLDAPAPDIN名称 = 数组“示例域”
$WGLDAppServer名称 = 数组“示例域”= >“示例.AdServer .com”

$WGLDApAutoAdvices域 = “示例域”

WGLDD-近似试剂 = 数组“示例域”= >“CN =代理代理,O= DimaNi用户,DC =示例,Dc= COM”
$WGLDAdAccess密码 = 数组“示例域”= >“密码”
$WGLDAP = 数组“示例域”= >“dc=例子,dc= com”

$WGLDAP搜索属性 = 数组“示例域”= >“用户原则”

/我们想检查以确保用户没有被禁用。
$WGLDAPAPREST属性 = 数组“示例域”= >

/UsRealCuffic控件属性具有指定用户帐户信息的十六进制标志。
// 2的十六进制标志指定用户的帐户被禁用。
$WGLDApApple属性 = 数组“示例域”= >“!(USERACK控制:1.2.840.11355.1.4.803:=2)

//这告诉插件从用户的智能卡使用CN字段。
然而,这需要符合你的情况;请参阅:
//http://http.Apache .org/DOCS/2.2 /mod/MODYSSL。
//使用环境变量列表
如果 伊塞特$服务器[S'Sclipse)) {
        $WGLDApAutoAuthServer名称 = $服务器[S'Sclipse
}

//此钩子由LDAPueDebug扩展名调用。它是一个配置钩子。这里我们
/指定Wiki中用户名的属性。
//钩子调用下面定义的函数。
美元挂钩[“StuuSurNeMeAdvestOnFLDAP”[] = “StuuSurNAMEAtError”

//这个函数允许您使用LDAP的另一个属性作为用户名。
功能 设置用户名称属性&$LDAPUSEND $信息 {
        //$信息是用户的完整条目,可以使用任何属性或您喜欢的属性组合。
        这是维基将作为用户名使用的。
        $LDAPUSEND = $信息[]“SAMAcQueND”]
}

//在设置所有配置选项之后,我们希望告诉扩展使用。
/自动认证。这将创建一个$WAGOTH的LDAPDebug实例。
自动创作();

高级LDAP扩展配置[编辑]

下面将配置三个域:一个指向OpenLDAP的域,另一个指向ActiveDirectory,第三个使用指向同一个活动目录的智能卡身份验证。

OpenLDAP域将使用直接绑定,ActiveDirectory域将使用代理身份验证。

此配置要求SSLVIEFIFY客户端设置在一个位置指令(上面的第三个Apache设置)中。

要求一次 美元IP/扩展/ LDAPoAuto认证.php 
要求一次 美元IP/扩展/ LDAPValue.php 

$WGLDAPAPDIN名称 = 数组“示例域”“示例域” “示例域智能卡”
$WGLDAppServer名称 = 数组“示例域”= >“示例.OLSServer .com” “示例域”= >“示例.AdServer .com” “示例域智能卡”= >“示例.AdServer .com”

$WGLDAPAccess字符串 = 数组“示例域”= >“UID=用户名,OU=人,DC =示例,DC=OLSENDATA,DC= COM”

$WGLDApAutoAdvices域 = “示例域智能卡”

WGLDD-近似试剂 = 数组“示例域”= >“Cn=代理代理,O= DimaNi用户,DC=示例,DC=ADDe域,Dc= COM” “示例域智能卡”= >“Cn=代理代理,O= DimaNi用户,DC=示例,DC=ADDe域,Dc= COM”
$WGLDAdAccess密码 = 数组“示例域”= >“密码” “示例域智能卡”= >“密码”
$WGLDAP = 数组“示例域”= >“dc=示例,dc= ADDe域,dc= com” “示例域智能卡”= >“dc=示例,dc= ADDe域,dc= com”

$WGLDAP搜索属性 = 数组“示例域”= >“SAMAcQueND” “示例域智能卡”= >“用户原则”

//我们想要检查以确保用户在使用时不被禁用。
//智能卡验证。
$WGLDAPAPREST属性 = 数组“示例域智能卡”= >

/UsRealCuffic控件属性具有指定用户帐户信息的十六进制标志。
// 2的十六进制标志指定用户的帐户被禁用。
$WGLDApApple属性 = 数组“示例域智能卡”= >“!(USERACK控制:1.2.840.11355.1.4.803:=2)

//这告诉插件从用户的智能卡使用CN字段。
然而,这需要符合你的情况;请参阅:
//http://http.Apache .org/DOCS/2.2 /mod/MODYSSL。
//使用环境变量列表
如果 伊塞特$服务器[S'Sclipse)) {
        $WGLDApAutoAuthServer名称 = $服务器[S'Sclipse
}

//这个钩子是由LDAPValuePu插件调用的。它是一个配置钩子。这里我们
/指定Wiki中用户名的用户名。
//钩子调用下面定义的函数。
美元挂钩[“StuuSurNeMeAdvestOnFLDAP”[] = “StuuSurNAMEAtError”

//这个函数允许您使用LDAP的另一个属性作为用户名。
功能 设置用户名称属性&$LDAPUSEND $信息 {
        //$信息是用户的完整条目,可以使用任何属性或您喜欢的属性组合。
        这是维基将作为用户名使用的。
        $LDAPUSEND = $信息[]“SAMAcQueND”]
}

//在设置所有配置选项之后,我们要设置SSL插件。本遗嘱
/创建一个LDAPHuffic实例作为$WOGHTH
自动创作();

基于智能卡登录的配置步骤[编辑]

  1. 创建一个名为“智能卡登录”的文章
    1. 添加“重定向[ [主页] ]”
    2. 保护文章
  2. 编辑登录提示在特殊:所有消息和添加:
    [智能卡登录]点击这里用智能卡登录。]