PHP 獲得域控內使用者的電腦登入名稱

來源:互聯網
上載者:User

標籤: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;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.