前提条件详细获取当前用户的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