首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP内部网可以共享Windows登录吗?

问PHP内部网可以共享Windows登录吗?
EN

Stack Overflow用户
提问于 2009-03-11 15:54:38
回答 3查看 3.1K关注 0票数 7

我已经创建了一些需要用户登录的基于PHP的内部网资源。用户创建他们自己的登录,我验证他们是否使用cookie登录。

有人问我是否可以将登录绑定到他们的Windows登录。我最初的反应是“网页无法访问您的Windows登录--这将是一个安全风险。”但我们的一个部门使用Sharepoint,它确实将自己与Windows登录绑定在一起。

这是怎么做到的呢?我能用PHP做吗?如果是这样,为什么它不是一个可怕的安全漏洞?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-11 16:07:03

您正在寻找的是针对PHP网站的NTLM身份验证,这是完全可行的,但在PHP中似乎没有单一的方法来完成它。

看一看http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

您还需要将站点添加到IE中的受信任站点(或在您使用的任何浏览器中的等价物),并在受信任站点的设置中打开“发送当前用户名和密码”。

这并不是一个可怕的安全漏洞,因为凭据不是完全通过网络发送的,并且最终用户已经明确告诉浏览器将凭据发送到有问题的网站。

票数 8
EN

Stack Overflow用户

发布于 2009-03-11 16:02:20

PHP支持LDAP,因此您可以访问Windows的Active Directory

在SourceForge上有一个项目:adLDAP -“使用PHP for Active Directory进行LDAP身份验证”

票数 5
EN

Stack Overflow用户

发布于 2009-03-11 16:12:35

这通常是使用LDAP和NTLM的组合来完成的。IE和Firefox等浏览器可以进行NTLM身份验证,我相信这就是Sharepoint的工作方式。我运行一个基于Java的门户应用程序,该应用程序使用LDAP同步用户,使用NTLM进行身份验证。

您绝对不想让用户在浏览器中输入域用户名和密码。在过去的几年中,我见过几个项目使用这种方法和LDAP对Windows用户进行身份验证。你说得对,这是个安全问题。用户应仅在登录工作站时输入其密码一次。你最不想要的就是保存在cache / temp文件中的密码。

我很抱歉,我不能提供一个“这是如何使用PHP应用程序”的答案。据我所知,这个问题没有一个答案。

(我过去做过的一件事是使用IIS中的PHP,但我从未真正检查过它是有效的还是糟糕的形式。如果您使用的是IIS,那么PHP将用Windows用户的用户名(DOMAIN\user)填充服务器变量REMOTE_USER。它对我当时正在做的事情起作用了。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/635171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档