php – 为Apache设置Windows身份验证
作者:互联网
首先,我一直在网上搜索大约一个小时试图找到如何做到这一点没有成功 – 因此我正在写这个问题.
我有一个Intranet站点,需要访问用户Windows用户名(不是运行Apache的服务器,而是访问Intranet站点的用户).
我已经安装了adLDAP并让它在用户可以登录的地方工作,以检查用户所在的组.但是,为了让我的网站更安全,我宁愿访问Windows用户名.
我已经看到有一个名为mod_auth_sspi的apache模块,但我找不到如何安装它,甚至在我的代码中实现(使用)它.
我在Windows Server 2008上使用Apache v2.4,PHP 5.6.8.
解决方法:
所以……经过几个小时的谷歌搜索后我发现了如何做到这一点…它应该更直接地找到答案,但不过,这里是:
1)为您的系统下载以下模块(32位,64位):https://www.apachehaus.net/modules/mod_authnz_sspi/
2)将文件粘贴到modules文件夹中. /阿帕奇/模块/
3)编辑以下配置文件:
3.1)php / php.ini:取消注释extension = php_ldap.dll行.
3.2)apache / conf / httpd.ini:将以下内容添加到LoadModules部分的末尾:
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so
3.3)找到<目录标签并删除开始和结束标签及其内容.然后粘贴以下内容:
<Directory />
Options None
AllowOverride All
Order allow,deny
Allow from all
AuthName intranet
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
SSPIOmitDomain On
Require valid-user
</Directory>
然后在重新启动Apache之后,一切都应该可行.通过<?php echo $_SERVER ['PHP_AUTH_USER']获取Windows用户的用户名?>
标签:apache,php,windows-server-2008,windows-authentication 来源: https://codeday.me/bug/20190628/1313834.html