2013-02-13 35 views
0

我正在使用自定義驗證的asp.net Web應用程序。我編寫了一個快速測試應用程序,放在我們的Web服務器上,以確保我可以從用戶那裏獲取必要的憑據。我試圖讓用戶當前登錄使用下面的代碼行(我以前做過):asp.net web應用程序返回IIS信息而不是當前用戶憑據

string username=System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString(); 

這通常返回,格式爲「域\用戶」的字符串。我得到的東西是這樣的:IIS APPPOOL \ ASP.NET v4.0

我敢肯定我缺少一些簡單的東西,是否有需要改變的IIS設置?或者有沒有不同的方式來獲取用戶名?

+0

你有模擬安裝在您的網頁.config? – 2013-02-13 16:37:54

+0

@ Dillie-O我目前沒有模擬設置,我認爲它應該被禁用,因爲asp應用程序會處理認證,我嘗試啓用它,NT AUTHORITY \ IUSR返回給我。 – ovaltein 2013-02-13 17:16:34

+1

Since你正在使用自定義身份驗證,你是否有適當的代碼來設置IPrincipal的詳細信息?沒有,我相信Security.Principal類默認爲你有什麼 – 2013-02-13 18:43:44

回答

0

由於您使用的自定義/窗體身份驗證,這聽起來像你的用戶進行身份驗證後,不會設置IPrinicipal細節。

可以follow this documentation(找到「創建窗體身份驗證cookie部分)如何設置在您的應用程序的代碼了,它並不像看起來那麼難。

0

試試這個:

Page.User.Identity.Name 
相關問題