我有问题试图让用户使用mod____auth____ldap对Apache进行身份validation。 我想让用户使用表单进行身份validation,而不是使用apache正常显示的默认对话框。
服务器“托pipe”一些应用程序。 如果用户试图访问这些应用程序而不通过apachevalidation,我希望服务器redirect到login页面。
login页面当前位于服务器的DocumentRoot中,每个应用程序在其自己的目录中被别名引用,因为login应用程序使用mod_rewrite作为URL。 例如
Alias /someapp "/opt/applications/someapp/" <Directory "/opt/applications/someapp"> AuthName "Login" AuthBasicProvider ldap AuthType Basic AuthLDAPUrl ldap://ldapserver:389/dc=somedomain,dc=com?cn AuthLDAPBindDN cn=Manager,dc=somedomain,dc=com AuthLDAPBindPassword somepassword AuthzLDAPAuthoritative off require valid-user </Directory>
login应用程序使用对服务器的基本身份validation,据我了解,这应该使有权访问其他应用程序,使用mod____auth____ldap ?? restircted的用户?
目前DocumentRoot目前没有任何auth_ldap限制。
我如何去强迫一个login页面对Apache进行身份validation,以便用户可以访问其他应用程序?
谢谢…
Apache默认情况下不能显示login页面 。 当你进行一个基本的authentication时,它会发送一个401状态码给浏览器,popup用户名/密码对话框。 任何types的login页面都必须在应用程序端完成authentication处理。
作为替代scheme,您可能需要查看诸如shibboleth或simplesamlphp之类的身份validation联合系统。 设置它可以是一个痛苦,但一旦你这样做,它会做你想要的。
它会:
希望这可以帮助。