簡體   English   中英

獲取沒有Windows身份驗證的Windows登錄名

[英]Get windows login name without Windows Authentication

我試圖從我的asp.net應用程序獲取Windows登錄用戶名。 這是我的代碼

string user_name = Request.ServerVariables.Get("LOGON_USER");

這在我的本地環境中工作正常但是當我在IIS上上傳相同的代碼時,它給我空白,即使我試圖獲取登錄用戶名

HttpContext.Current.User.Identity.Name

但它讓我空白。 一旦我啟用IIS身份驗證到Windows身份驗證並禁用反義詞身份驗證它就可以了。 任何人都可以指導我如何得到這個。 如果我使用任何錯誤的approch,請糾正我。

提前致謝。

編輯:我不想設置Windows身份驗證,因此,通過在Web.Config中設置,是否可以在ASP.NET頁面級別身份驗證中進行

<allow user="*"/> or <deny user="?"/>

如果我錯了,請糾正。

要獲取用戶名,您需要使用除匿名身份驗證之外的內容。

使用匿名身份驗證,您無法獲取本地用戶的用戶名。 即使這是可能的,對於面向公眾的站點b / c也不實用,你可以擁有多台具有相同本地用戶名的計算機。

此外,由於您提到這是公司域之外的外部站點,因此不能選擇Windows身份驗證。 Windows身份驗證主要用於內部Intranet應用程序。

如果您想要唯一地標識每個用戶,您可能正在尋找什么,並且具有ASP.NET身份驗證,ASP.NET支持並提供開箱即用的控件,允許用戶為您的網站注冊和創建帳戶。 看看這個鏈接http://msdn.microsoft.com/en-us/library/7t6b43z4.aspx

回答:“通過在Web.Config中設置,可以在ASP.NET頁面級別身份驗證中實現嗎?” 在web.config中設置<allow user="*"/> or <deny user="?"/>的授權規則控制給定用戶的authorization (在這種情況下,給定用戶是否可以訪問頁面) )用戶經過authenticated ,但對authentication方法或使用的成員資格提供程序沒有影響。 因此,此web.config設置將不允許您使用匿名身份驗證獲取用戶名。

暫無
暫無

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

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