PHP 获得域控内用户的计算机登录名
2014-07-08 17:13
169 查看
一个需求: 在域控范围获得访问用户的计算机名.方法:
1.测试软件环境: XAMPP Control Panel V3.2.1 , Apache version 2.4.7
2.Apache 2.2 使用 mod_auth_sspi.so 模块,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文件最后添加:
<Directory "D:/xampp/htdocs"> # 指定网站根目录
AllowOverride None
Options None
AuthName "My Intranet" (这个名字可以随便设置)
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
require valid-user
require user "NT AUTHORITY\ANONYMOUS LOGON" denied
</Directory>
5. 保存conf 文件,重启Apache
查看模块是否加载: phpinfo();
Check the Apache Version
Httpd -v
PHP 实现代码:
$username = $_SERVER['PHP_AUTH_USER'];
echo $_SERVER['PHP_AUTH_USER'];
或:
echo "<br>".$_SERVER['REMOTE_USER'];
$username = substr(strrchr($username, '\\'), 1);
echo "<br>".$username;
1.测试软件环境: XAMPP Control Panel V3.2.1 , Apache version 2.4.7
2.Apache 2.2 使用 mod_auth_sspi.so 模块,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文件最后添加:
<Directory "D:/xampp/htdocs"> # 指定网站根目录
AllowOverride None
Options None
AuthName "My Intranet" (这个名字可以随便设置)
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
require valid-user
require user "NT AUTHORITY\ANONYMOUS LOGON" denied
</Directory>
5. 保存conf 文件,重启Apache
查看模块是否加载: phpinfo();
Check the Apache Version
Httpd -v
PHP 实现代码:
$username = $_SERVER['PHP_AUTH_USER'];
echo $_SERVER['PHP_AUTH_USER'];
或:
echo "<br>".$_SERVER['REMOTE_USER'];
$username = substr(strrchr($username, '\\'), 1);
echo "<br>".$username;
相关文章推荐
- C# Tips:获得当前登录计算机的用户(本地用户/域用户)
- C# Tips:获得当前登录计算机的用户(本地用户/域用户)
- C# Tips:获得当前登录计算机的用户(本地用户/域用户)
- 超强获取计算机信息类(可获取cpu序列号,网卡地址,ip地址,硬盘id,登录系统用户,计算机名等等)
- windows2003关于客户端加入域服务器时出现“未授于用户在此计算机的请求登录权限”的解决方案
- 未授予用户在此计算机上的请求登录类型
- 自定义函数//获取登录计算机用户的名称,获取计算机名称
- PHP获得用户使用的代理服务器ip即真实ip
- PHP程序登录163邮箱并取得当前用户的通讯录列表
- [PHP/.NET]如何把PHP站点用户登录会话传递到ASP.NET站点
- XP中“登录失败:未授予用户在此计算机上的请求登录类型”的解决
- 如何计算用户登录到计算机的次数?
- 我的第一个PHP程序--用户登录页面
- 关于本地缓存登陆 和 域用户将计算机加入域的问题及登录过程- -
- 关于本地缓存登陆 和 域用户将计算机加入域的问题及登录过程- -
- php用户登录
- 找出计算机上当前登录入网的用户
- 获得系统信息---用户名称.计算机名称,操作系统名称
- [PHP/.NET]如何把PHP站点用户登录会话传递到ASP.NET站点
- 未授予用户在此计算机上的请求登录类型