2015-12-07 185 views
4

首先,我一直在搜索互联网大约一个小时,试图找出如何做到这一点没有成功 - 因此我正在写这个问题。为Apache设置Windows身份验证

我有一个Intranet站点需要访问用户Windows用户名(不是运行Apache的服务器,而是访问Intranet站点的用户)。

我已经安装了adLDAP,并让它工作,用户可以通过它登录,以检查用户所在的组。但为了让我的网站更安全,我宁愿它访问Windows用户名。

我看到有一个名为mod_auth_sspi的apache模块,但我找不到如何安装它甚至在我的代码中实现(使用)它。

我是在Windows Server上使用Apache V2.4,PHP 5.6.8 2008年

回答

2

所以...我发现了如何在几个小时的谷歌搜索后,做到这一点...它应该是更直截了当地找到答案,但尽管如此,在这里它是:

1)下载下列模块,为您的系统(位32 64位):https://www.apachehaus.net/modules/mod_authnz_sspi/

2)将文件粘贴到你的模块文件夹。 /apache/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标签和删除打开和关闭标签及其内容。然后粘贴在以下内容:

<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'] ?>

+0

获取Windows用户的用户名不幸的是,我不得不关注所有这些,并重新检查并重新检查了我的工作,但仍然无法使其工作。 – Lynchie

+0

@Lynchie在什么情况下你试图让这个工作;它以什么方式不起作用? –

+0

嗨Callum,基本上我想获得环境用户名,以便我可以使用它来控制CSS样式表。 – Lynchie