Apache+PHP 域集成登录
一个需求:实现Apache+PHP 域集成登录:
1.测试软件环境: PHP 5.6 , Apache version 2.4.7
2.Apache 2.4 使用mod_authnz_sspi 模块。
二、安装
1.下载mod_authnz_sspi 模块。(x86 for 32bit apache, x64 for 64 bit apche ) Download the module from here
https://www.apachehaus.net/modules/mod_authnz_sspi/
2.将模块拷贝到apache 安装目录中的 modules文件中
3. 确保如下两个模块可用。
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
4.配置Apache的httpd. conf文件
在LoadModule 语句的最后添加加载模块语句
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so
在httpd.conf文件最后添加:
AllowOverride None
Options None
AuthName "My Intranet" (这个名字可以随便设置)
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
require valid-user
require user "NT AUTHORITY\ANONYMOUS LOGON" denied
5. 保存conf 文件,重启Apache
查看模块是否加载: phpinfo();
Check the Apache Version
Httpd -v
PHP 实现代码:
$username = $_SERVER['PHP_AUTH_USER'];
echo $_SERVER['PHP_AUTH_USER'];
或:
echo "
".$_SERVER['REMOTE_USER'];
$username = substr(strrchr($username, '\\'), 1);
echo "
".$username;