Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress插件,用于在LDAP或NTLM上进行身份验证并处理角色_Php_Authentication_Wordpress_Openldap - Fatal编程技术网

Php Wordpress插件,用于在LDAP或NTLM上进行身份验证并处理角色

Php Wordpress插件,用于在LDAP或NTLM上进行身份验证并处理角色,php,authentication,wordpress,openldap,Php,Authentication,Wordpress,Openldap,在我的公司,我们有一些技术限制。目前我有一个使用PHP的IIS服务器。IIS配置为使用NTLM通过Active Directory对用户进行身份验证 我已经在这台服务器上安装了WordPress,可以使用管理员用户(id=1)登录,任何用户都可以匿名阅读文章和发表评论 “感谢”NTLM,我可以使用$\u服务器['REMOTE\u USER']检索用户的登录信息。这样我就可以识别(在插件中)用户。但WP不会自动记录并识别它们 我现在需要的是在Wordpress中控制用户权限。我需要将角色赋予他们,

在我的公司,我们有一些技术限制。目前我有一个使用PHP的IIS服务器。IIS配置为使用NTLM通过Active Directory对用户进行身份验证

我已经在这台服务器上安装了WordPress,可以使用管理员用户(id=1)登录,任何用户都可以匿名阅读文章和发表评论

“感谢”NTLM,我可以使用
$\u服务器['REMOTE\u USER']
检索用户的登录信息。这样我就可以识别(在插件中)用户。但WP不会自动记录并识别它们

我现在需要的是在Wordpress中控制用户权限。我需要将角色赋予他们,定义允许发布、发布和编辑而不允许发布、评论和注册其评论登录名的人员组,以及只允许阅读文章的用户(来宾)和不允许阅读文章的用户。也许我还需要将与读取访问相关的角色赋予类别属性,以便允许给定角色从一个类别而不是另一个类别中读取文章

用户与部门相关,并承担一项费用(职务)。用户经常在部门间移动并更改收费。我需要使用两者来定义一些角色。我可以开发一个插件来钩住一些WP过滤器,检索它们的数据并动态设置它们的角色

要检索他们的部门、费用和姓名,我可以使用LDAP。如果不可能,我有一个MSSQL数据库,也有他们的数据。所以,如果我不能使用LDAP,我需要让WordPress连接到MSSQL并查询它

在WordPress中注册数以万计的用户是不现实的,甚至要求他们保留密码也是不现实的。我需要WordPress来识别用户,并自动将新用户添加到wp_users表中。我还需要能够手动注册一些用户,而不需要他们首先进入网站。然后,我可以手动管理WordPress角色的用户

我在这里看到3种可能的解决方案:

1) 使用IIS的NTLM对用户进行身份验证,并使用
$\u SERVER['REMOTE\u USER']
检索他们的登录名并将他们登录到WordPress。如果他们还没有在wp_用户上注册,那么就这样做了。然后我查询MSSQL以获取它们的数据。这似乎是最简单的解决办法

2) 使用IIS的NTLM对用户进行身份验证,并使用
$\u SERVER['REMOTE\u USER']
检索他们的登录名。然后使用LDAP从AD检索它们的名称,并提供这些数据来验证WordPress和处理wp_用户。这是最理想的解决方案,但也是最复杂的

3) 忽略NTLM,并要求用户手动向WordPress的登录表单提供其登录名和密码,然后通过LDAP对其进行身份验证并处理wp_用户。提供的密码是他们的广告之一。HTTPS已经在后台工作并被强制。这是最不理想的解决方案,因为用户已经习惯于从NTLM进行身份验证,并且可能不想要或不理解登录表单(是…)

有人这样做过吗?能帮我吗?有没有一个插件可以解决这个问题,或者有一些开源代码可以作为开发插件的基础