前提條件詳細獲取當前用戶的SID的最佳方式是什麼?
- 工作在.NET 2.0。
- 該代碼位於可從ASP.Net,Windows窗體或控制檯應用程序中調用的公用庫中。
- 在公司網絡上的Windows域中運行。
問題
什麼是獲取當前用戶的SID的最佳方式?我不是在談論執行應用程序的身份,而是在訪問該接口的用戶。在後臺應用程序和基於桌面的應用程序中,這應該是實際執行應用程序的身份,但在ASP.Net中(沒有impersionation),應該是HttpContext.Current.User SID。
當前方法
這是我有現在。它看起來......錯了。這很討厭。有沒有更好的方法來做到這一點,還是有一些內置的課程可以幫助你?
public static SecurityIdentifier SID
{
get
{
WindowsIdentity identity = null;
if (HttpContext.Current == null)
{
identity = WindowsIdentity.GetCurrent();
}
else
{
identity = HttpContext.Current.User.Identity as WindowsIdentity;
}
return identity.User;
}
}
用戶將總是有一個身份(如果他們不那麼它是一個更大的問題)。感謝你的回答。 – 2009-07-31 18:18:24