日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql windows ad_您可以使用PHP获得Windows(AD)用户名吗?

發布時間:2024/9/19 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql windows ad_您可以使用PHP获得Windows(AD)用户名吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

您可以使用PHP獲得Windows(AD)用戶名嗎?

我在Intranet上有一個PHP Web應用程序,可以在該頁面上提取當前用戶的IP和主機名,但是我想知道是否還有一種方法來獲取/提取其Active Directory / Windows用戶名。 這可能嗎?

16個解決方案

46 votes

檢查AUTH_USER請求變量。 如果您的Web應用程序允許匿名訪問,則此字段為空,但是如果您的服務器使用的是基本身份驗證或Windows集成身份驗證,則它將包含已驗證用戶的用戶名。

在Active Directory域中,如果您的客戶端運行的是Internet Explorer,并且您的Web服務器/文件系統權限配置正確,則IE會靜默將其域憑據提交到您的服務器,而AUTH_USER將是MYDOMAIN\user.name,而無需用戶明確登錄到您的網站 應用程式。

Dylan Beattie answered 2020-07-10T18:28:37Z

16 votes

我已經在IIS上運行php mysql-如果在IIS中打開Windows身份驗證->身份驗證,然后關閉匿名身份驗證(重要),則可以使用$user

我用它來獲取用戶和域:

$user = $_SERVER['AUTH_USER'];

$user將在我們的網絡上返回一個值:DOMAIN\username,然后只是從字符串中刪除DOMAIN\的情況。

到目前為止,該功能已在IE,FF,Chrome,Safari(已測試)中運行。

Schwarz.Oz answered 2020-07-10T18:29:10Z

4 votes

查看PHP LDAP庫函數:[http://us.php.net/ldap。]

Active Directory [大部分]符合LDAP標準。

warren answered 2020-07-10T18:29:35Z

3 votes

我們的環境中有多個域,因此我將preg_replace與regex一起使用,僅獲得不帶DOMAIN \的用戶名。

preg_replace("/^.+\\\\/", "", $_SERVER["AUTH_USER"]);

GMR answered 2020-07-10T18:29:54Z

3 votes

如果您在Windows上使用Apache,則可以從以下位置安裝mod_auth_sspi:

[HTTPS://source forge.net/projects/摸到-AU TH-身上披/]

說明在INSTALL文件中,并且有一個whoami.php示例。 (這只是將mod_auth_sspi.so文件復制到文件夾并將一行添加到httpd.conf中的一種情況。)

安裝完畢并在httpd.conf中進行了必要的設置以保護您想要的目錄后,PHP將在IE中使用經過身份驗證的用戶的用戶和域(“ USER \ DOMAIN”)填充$_SERVER['REMOTE_USER'],或者在IE中進行提示和身份驗證。 Firefox傳入之前。

信息是基于會話的,因此即使在Firefox中也可以進行單點登錄。

-克雷格

CrayFishUK answered 2020-07-10T18:30:37Z

2 votes

您可能可以通過要求對某些文件的經過身份驗證的訪問來使用mod_auth_kerb在Apache中對用戶進行身份驗證……我想這樣,用戶名也應該在某處的PHP環境變量中可用……可能最好在運行后再與<?php phpinfo(); ?>進行檢查。

hangy answered 2020-07-10T18:30:57Z

2 votes

如果您要檢索遠程用戶IDSID /用戶名,請使用:

echo gethostbyaddr($_SERVER['REMOTE_ADDR']);

你會得到類似iamuser1-mys.corp.company.com

過濾其余的域,您將只能獲得idsid。

有關更多信息,請訪問[http://lostwithin.net/how-to-get-users-ip-and-computer-name-using-php/]

Eddy Goh answered 2020-07-10T18:31:30Z

1 votes

檢出Apache修補的NTLM身份驗證模塊[https://github.com/rsim/mod_ntlm]

基于適用于Apache / Unix的NTLM auth模塊[http://modntlm.sourceforge.net/]

在[http://blog.rayapps.com/]上了解更多信息。

來源:[http://imthi.com/blog/programming/leopard-apache2-ntlm-php-integrated-windows-authentication.php]

blomman9 answered 2020-07-10T18:32:03Z

0 votes

否。但是您可以做的是讓您的Active Directory管理員啟用LDAP,以便用戶可以維護一組憑據

[HTTP://US2.PHP.net/LDAP]

Peter Bailey answered 2020-07-10T18:32:27Z

0 votes

get_user_name與getenv('USERNAME')的工作方式相同;

我使用getenv('USERNAME')編碼(西里爾字母)問題

Kornilov Ruslan answered 2020-07-10T18:32:51Z

0 votes

引用嘗試還找出AUTH_USER是否屬于特定域組; 一個聰明的方法是用文本文件創建一個可鎖定的文件夾(可以為空白)。 將安全性設置為僅具有要驗證的安全性/發行版組。 一旦運行@file_get_contents(

George answered 2020-07-10T18:33:12Z

0 votes

你可以說getenv('USERNAME')

Someone answered 2020-07-10T18:33:32Z

0 votes

這是一個簡單的NTLM AD集成示例,允許使用Internet Explorer進行單點登錄,需要在其他瀏覽器中進行登錄/配置。

PHP示例

$user = $_SERVER['REMOTE_USER'];

$domain = getenv('USERDOMAIN');

?>

在您的apache httpd.conf文件中

LoadModule authnz_sspi_module modules/mod_authnz_sspi.so

AllowOverride All

Options ExecCGI

AuthName "SSPI Authentication"

AuthType SSPI

SSPIAuth On

SSPIAuthoritative On

SSPIOmitDomain On

Require valid-user

Require user "NT AUTHORITY\ANONYMOUS LOGON" denied

如果您需要該模塊,則此鏈接非常有用:

[HTTPS://嗚嗚嗚.Apache哈US.net/modules/摸到_AU頭昏腦脹_身上披/]

PodTech.io answered 2020-07-10T18:34:09Z

0 votes

使用此代碼:

shell_exec("wmic computersystem get username")

NightwingDFMX answered 2020-07-10T18:34:29Z

-2 votes

試試這個代碼:

$user= shell_exec("echo %username%");

echo "user : $user";

您在php中獲得Windows(AD)用戶名

UserHelpNeeding02356 answered 2020-07-10T18:34:53Z

-2 votes

我嘗試了幾乎所有這些建議,但是它們都返回了空值。 如果其他人有這個問題,我在php.net([http://php.net/manual/en/function.get-current-user.php)上找到了這個方便的功能:]

get_current_user();

$username = get_current_user();

echo $username;

這是我最終能夠獲得用戶的活動目錄用戶名的唯一方法。 如果以上答案均無效,請嘗試一下。

Purple Lady answered 2020-07-10T18:35:18Z

總結

以上是生活随笔為你收集整理的mysql windows ad_您可以使用PHP获得Windows(AD)用户名吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。