標籤:http 使用 strong 檔案 for io
一個需求: 在域控範圍獲得訪問使用者的電腦名稱.方法:
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;