我正在使用运行LAMP堆栈的rhel5来创build一个Intranet。 我正在尝试使用IE和Firefox在我们的networking上实现与用户的SSO。 使用下面的模块,我能够成功地做到这一点:
mod_auth_kerb所
我想更进一步,只允许根据小组成员进入某些地点。 我能够用mod_authz_ldap来实现这一点。 有没有一种方法可以一起使用,如果有的话,是否有任何例子?
以下是SSO Kerberos设置:
<Location /sso/location> AuthType Kerberos AuthName "Please Login" KrbServiceName HTTP KrbMethodNegotiate On KrbMethodK5Passwd On KrbAuthRealms DOMAIN.LOCAL Krb5KeyTab /etc/httpd/keytab require valid-user </Location>
以下是仅允许组访问成员的设置:
<Location /allowed/only/for/group> AuthType Basic AuthName "Please Login" AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPURL "ldap://dc.domain.local:389/OU=Domain Users,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN "CN=ldapbinduser,CN=Users,DC=domain,DC=local" AuthLDAPBindPassword ldapbinduserpass require ldap-group CN=Staff,CN=Users,DC=domain,DC=local require ldap-group CN=Faculty,CN=Users,DC=domain,DC=local Satisfy any </Location>
我已经阅读了有关使用Kerberos进行身份validation,然后使用一些PHP代码做一个组查找,但我希望这可以严格实现与Apacheconfiguration,并不需要更改网页代码。
任何帮助是极大的赞赏。 谢谢。
… Google向我展示了以下内容,任何使用它的人: http : //www.stanford.edu/services/webauth/
Alias /students /var/www/students <Location /students> KrbServiceName HTTP KrbMethodNegotiate On KrbMethodK5Passwd On KrbSaveCredentials off KrbAuthRealms DOMAIN.LOCAL Krb5KeyTab /etc/httpd/keytab KrbAuthoritative off AuthType Kerberos AuthName "Please Login" AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPURL "ldap://dc.domain.local:389/OU=Domain Users,DC=domain,DC=local?userPrincipalName?sub?(objectClass=*)" AuthLDAPBindDN "CN=ldapsearchuser,CN=Users,DC=domain,DC=local" AuthLDAPBindPassword ldapsearchuserpass require ldap-group CN=Students,CN=Users,DC=domain,DC=local require ldap-group CN=Staff,CN=Users,DC=domain,DC=local </Location>
这允许所有属于学生/职员AD组的成员的用户访问http:// intranetsite / students后面的页面,只要他们的IE / Firefoxconfiguration正确,不需要指定login凭证。
使用userPrincipalName而不是sAMAccountName,因为kerberos模块正在将用户名@ REALM传递给ldap模块。
现在我遇到了这样的问题,如果有人没有被授权,他们会得到:
需要授权此服务器无法validation您是否有权访问请求的文档。 要么提供了错误的凭据(例如错误的密码),要么您的浏览器不知道如何提供所需的凭据。
有谁知道如何让它popup一个用户名/密码对话框,以便他们可以尝试备用凭据? 获得授权失败后,我可以要求凭据的唯一方法是清除我的caching。 如果我以身份validation的用户身份login到PC,但是没有获得此资源的授权,我无法提供备用凭据(这可能是件好事)。
KrbMethodK5Passwd打开回退到基本身份validation,但是当然,您放弃从未让您的密码离开您的客户的机器的安全。