我知道你們中的很多人會認爲我的問題已經被問及答案,但我只想討論我嘗試過的很多選項。如何通過網站獲取當前登錄的遠程計算機用戶的用戶名,而您的網絡服務器位於同一網絡上?
現在我的設置是這樣的。 運行windows xp professional的大約50個客戶端。 一臺運行windows server 2003的服務器,稱之爲服務器A 一臺運行squid作爲代理服務器和linux操作系統的服務器。稱之爲服務器B 一臺運行Apache的服務器(雖然是wamp服務器)。稱之爲服務器C. 現在客戶使用Windows活動目錄和域服務器登錄到域服務器A 現在的瀏覽器配置爲使用它的服務器B.
代理服務器被配置爲不允許下載代理服務器大於限制(即我的情況下爲100 Mb)。當客戶端發出超出限制的請求時,用戶將顯示一個錯誤頁面。
現在我已經更換了錯誤頁面,它將用戶重定向到正在C機上運行的我的網站。我還獲得了用戶試圖訪問的鏈接。現在我需要找出哪個用戶登錄到系統中。所以我可以下載該文件,然後通知相應的用戶下載完成。
現在我所能做的只是簡單地詢問用戶的姓名或電子郵件等......但是我想將用戶從再次輸入他的名字的喧囂中拯救出來。
我試過以下選項。
- .NET http://www.codeproject.com/KB/cs/getusername.aspx(沒有工作。 可能是我錯過了什麼)
- WMIC http://www.robvanderwoude.com/ntadmincommands.php#Cmd02(工作)
- authetication通過魷魚(LDAP,活動目錄等)
現在我有有關這個問題。
- 這些都是我有的選擇還是我錯過了什麼?
- 爲什麼沒有.NET選項工作?
- 我可以使用任何各種魷魚身份驗證方法,但我想所有將需要用戶至少登錄一次登錄到計算機後登錄。我不想要這個。有沒有一種方法,我可以使用身份驗證完成時,用戶在adn不再要求他的用戶名和密碼?
謝謝你的迴應。只是要清楚。 這會給我訪問我的網站當前登錄用戶的用戶名。我使用了 System.Security.Principal.WindowsIdentity.GetCurrent()。Name 獲取客戶端的用戶名。 當我在運行IIS的同一臺機器上打開網站時,我得到了當前登錄用戶的用戶名。但是當我在另一臺電腦上訪問該網站時,用戶名是另一回事。 – Senstive
GetCurrent()。Name將爲您提供線程執行程序的名稱;如果你打開身份模擬,那麼它「可能」是最終用戶。如果你不這樣做,那麼它將是ASP.Net應用程序池標識。 –