基于Php表单的身份验证与ldap身份验证相结合

时间:2016-06-23 13:37:30

标签: php apache ldap

我在网页上工作,想要在进入网页之前用登录页面保护大部分页面。我在考虑目录访问保护。 我在apache中设置了两个带有以下设置的测试目录:

<Location /test>
# Using this to bind
AuthLDAPBindDN "##########"
AuthLDAPBindPassword "##########"
# search user
AuthLDAPURL "##########?sAMAccountName?sub?     (objectClass=*)"
AuthType basic
AuthName "USE YOUR WINDOWS ACCOUNT"
AuthBasicProvider ldap
# Important, otherwise "(9)Bad file descriptor: Could not open password file: (null)"
AuthUserFile /dev/null
Require ldap-group ###########
#Require valid-user
</Location>


<Location /test2>
# Using this to bind
AuthLDAPBindDN "##########"
AuthLDAPBindPassword "###########"
# search user
AuthLDAPURL "ldap://##########?sAMAccountName?sub?(objectClass=*)"
AuthType form
AuthName "USE YOUR WINDOWS ACCOUNT"
AuthFormProvider ldap
AuthFormLoginRequiredLocation "../test_ldap.php"
# Important, otherwise "(9)Bad file descriptor: Could not open password file: (null)"
AuthUserFile /dev/null
Require ###################
#Require valid-user
</Location>

一个人有LDAP身份验证,一个工作正常,但提供了一个丑陋的Windows弹出窗口。我想将其替换为基于表单的页面,以便我可以自定义外观。

另一个使用formbased身份验证。重定向到登录表单页面工作正常,但后来我卡住了。我已经创建了一个验证到LDAP的php页面,它也正常工作,这是我的登录页面,但是当我访问我的受保护目录时它还没有经过身份验证。

因此,我需要两者的结合才能实现这一目标。 我已经看到AuthFormProvider可以设置为Ldap,并且已经完成了但是我不能让它工作。

如果有人能指导我完成这个项目,我将非常感激。

0 个答案:

没有答案