系统相关
首页 > 系统相关> > php – 为Apache设置Windows身份验证

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