簡體   English   中英

如何獲取客戶端的用戶名,以JS或php登錄到客戶端計算機?

[英]How to get Username of a client, login to client machine in JS or php?

我們大約有10台iMac連接到Mac mini服務器。 在服務器上啟用了php和Apache。 我正在使用php開發Intranet網站。 我的要求是獲取連接到服務器的客戶端的用戶名。 $ _SERVER ['REMOTE_USER']無法正常工作。 我不知道為什么 請幫幫我。 有可能寫JS來找到它嗎? 它不應要求用戶登錄。 它應該直接從客戶端計算機登錄獲取。

$_SERVER['REMOTE_USER']將包含用於HTTP auth的用戶名。 沒有說服瀏覽器告訴您訪問者登錄哪個OS用戶的合理方法(您可能會對簽名的Java applet感到滿意,但我不會打賭)。

對於可以控制客戶端計算機的Intranet站點/應用程序,可以使用一些在系統啟動時運行的腳本/應用程序,該腳本/應用程序將讀取用戶名並將其存儲為cookie。 然后,您可以從您的網站上讀取該cookie。

Cookie的存儲方式因瀏覽器而異。 例如,firefox 3+使用具有文檔格式的sqlite數據庫(有關更多信息,請參見此文章 )。 您必須確保訪問cookie時瀏覽器未運行。

我相信您正在尋找的是單一登錄(SSO)。 這最常用於連接到域的Windows計算機上,該計算機允許用戶無需輸入任何憑據即可對Intranet站點進行身份驗證(例如,它使用其域憑據)。

我不知道純Mac等效。 (最新的)Windows系統稱為Kerberos,Mac上的Firefox支持Kerberos,如下所述: http : //www.cgl.ucsf.edu/Security/CGLAUTH/CGLAUTH.html

值得注意的是,這需要操作系統,瀏覽器和網站一起使用。 一些問題:firefox(即使在Windows上)也不會自動發送登錄詳細信息,它需要更改配置以包括要進行身份驗證的站點。 該網站需要能夠驗證傳遞給它的憑據的真實性,這通常意味着它需要能夠與憑據授權機構(域控制器/ RADIUS / X500服務器等)進行通信。 傳播機制需要支持(並配置)以允許憑據委派(即,允許客戶端PC將令牌傳遞到網站上以證明身份)。

這個問題是由設法在Linux上運行該文件的人提出的,因此應該是一個不錯的起點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM