我想知道是否有可能获取当前用户对象并获取其凭据,以便我可以将它们传递给我用来连接到我的AX .NET Business Connector的NetworkCredential
对象。因为,目前我必须指定它作为我在实例化NetworkCredential
对象时设置的特定用户连接:
private NetworkCredential nc = new NetworkCredential("myUser", "myPassword", "myDomain");
我希望做一些像private NetworkCredential nc = (NetworkCredential)HttpContext.User;
这样的事情,但显然这不起作用......
通过这种方式,可以更容易地跟踪哪个用户创建了销售订单,例如,当时所有内容都是由我指定的用户创建的。
答案 0 :(得分:27)
CredentialCache.DefaultNetworkCredentials
?
DefaultNetworkCredentials
返回的凭据表示运行应用程序的当前安全上下文的身份验证凭据。对于客户端应用程序,这些应用程序通常是运行应用程序的用户的Windows凭据(用户名,密码和域)。
答案 1 :(得分:5)
我不完全理解您的问题,但您是否需要凭据来自ASP.NET?你可以尝试:
Uri uri = new Uri("http://tempuri.org/");
ICredentials credentials = CredentialCache.DefaultCredentials;
NetworkCredential credential = credentials.GetCredential(uri, "Basic");
假设您的用户已通过会员提供商进行了身份验证。