针对 Active Directory 进行无缝 SSO 身份验证
我有一个网页,我只希望特定组登录。
我在一所大学工作,我们使用 Active Directory 帐户,并且只有特定组可以访问此 php 页面(在 apache 服务器上)。
我知道我可以使用一些 PHP 代码限制访问,但我想实现无缝登录。
每个人在工作中都使用 IE7(配置为传递正确的凭据),并且需要登录计算机(将其登录到域控制器)。
当用户访问 http://intranet 时,他们将自动登录,因为他们之前登录过自己的计算机。
如果用户访问 http://intranet.domain.com,系统会提示他们输入凭据。
我知道我需要使用 kerberos 进行身份验证,使用 LDAP 进行授权。
有人成功实现无缝身份验证吗?
I have a webpage that I only want a specific group to log into.
I work at a college and we use Active Directory accounts and only a certain group can access this php page (on apache server).
I know I can restrict access with some PHP code, but I want to accomplish seamless login.
Everyone uses IE7 at work (which are configured to pass the proper credentials), and are required to log into the computer (which logs them into the domain controller).
When the user goes to http://intranet, they will automatically be logged in, since they logged into their computer earlier.
If a user goes to http://intranet.domain.com, it will prompt them for their credentials.
I know I need to use kerberos for authentication and LDAP for authorization.
Has anyone had success at seamless authentication?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有一些商业产品将此作为 Apache 模块提供,请参阅 Wikipedia 文章末尾的链接 SPNEGO< /a> (例如使用 Apache 的 SPNEGO 指南) 。我还知道一些 php 模块,例如 php_krb5: php_krb5 beta / 使用 PHP 的 GSSAPI 协商身份验证,或 Apache 模块,例如 mod_auth_kerb。但我自己从未使用过它们。
至于在 PHP 中完成整个 9 码并实现 Negotiate auth,我确实在生活中实现了 RFC 2617 在 PHP 中进行摘要式 HTTP 身份验证,我确实实现了 Windows SSPI 身份验证模块,但我从未尝试过实现 RFC 4559。虽然 HTTP 身份验证部分相当微不足道,但不透明的 GSS-API 部分却令人望而生畏,即使您有一个良好的 GSS-API 库可供使用 RFC 2743。
There are commercial products that offer this as Apache modules, see the links at the end of the Wikipedia article on SPNEGO (eg. Guide to SPNEGO with Apache). I know also of some php modules like php_krb5: php_krb5 beta / Negotiate auth with GSSAPI for PHP, or Apache modules like mod_auth_kerb. I never used them myself though.
As for going the whole 9 yards and implementing Negotiate auth in PHP, I did implement in my life RFC 2617 in PHP for Digest HTTP auth and I did implement Windows SSPI authentication modules, but I never tried to implement RFC 4559 in PHP. While the HTTP auth part is fairly trivial, the opaque GSS-API part is daunting, even provided you have a good GSS-API library at your disposal for RFC 2743.
这是因为您需要将 Intranet.domain.local 添加到 IE 中的本地 Intranet 区域。查看这篇文章了解详细信息:http:// www.sysadminlab.net/other/local-intranet-zone-in-ie8-exalained-for-sysadmins
This is because you need to add intranet.domain.local to the Local Intranet zone in IE. Check this article for details: http://www.sysadminlab.net/other/local-intranet-zone-in-ie8-exaplained-for-sysadmins