获得当前用户网络凭据在Windows身份验证应用程序
我想知道是否有可能获得当前用户对象,并得到他们的凭证,所以我可以连同赋予我使用连接到我的AX一个NetworkCredential
对象传递它们.NET业务连接器。至于,此刻我在指定其连接为我设定一个特定的用户,当我实例化一个NetworkCredential
对象:获得当前用户网络凭据在Windows身份验证应用程序
private NetworkCredential nc = new NetworkCredential("myUser", "myPassword", "myDomain");
我希望做一些事情,如:private NetworkCredential nc = (NetworkCredential)HttpContext.User;
但显然赢得”将不起作用......
这样一来,它更容易跟踪哪些用户已创建例如销售订单,截至目前一切得到由我指定的用户创建..
CredentialCache.DefaultNetworkCredentials
?
DefaultNetworkCredentials
返回的凭证代表运行应用程序的当前安全上下文的身份验证凭证。对于客户端应用程序,这些通常是运行该应用程序的用户的Windows凭据(用户名,密码和域)。
我不不要完全理解你的问题,而是你要求的来自ASP.NET的呼叫证书?您可以尝试:
Uri uri = new Uri("http://tempuri.org/");
ICredentials credentials = CredentialCache.DefaultCredentials;
NetworkCredential credential = credentials.GetCredential(uri, "Basic");
假设您的用户已通过成员资格提供程序进行身份验证。
我使用的是ASP.NET MVC 3 Windows身份验证的应用程序,所以我认为他们已经被验证?当我看“凭证”时,所有的字段都是空字符串? – CallumVass 2012-07-10 14:44:45
当我使用这个,凭证都是空字符串? – CallumVass 2012-07-10 14:45:55
它返回一个'SystemNetworkCredential',一个派生自'NetworkCredential'的内部类。它里面有隐藏的魔法,但它故意将用户名,密码等设置为空字符串,如果这就是你所指的。 – 2012-07-10 14:50:19
啊好吧,我会尝试一下,然后..感谢了很多 – CallumVass 2012-07-10 14:50:47