我们正在运行一个asp.net mvc应用程序(客户端-此应用程序由用户通过浏览器访问),它使用HttpClient
类来调用asp.net web api
应用程序(服务器-我想访问用户信息用户。调用客户端应用程序的人)。这是一个内部网应用程序。我们将asp.net网络应用编程接口作为windows服务进行托管。在这种情况下,如何获取用户名?
ApiController
类有一个属性public IPrincipal User { get; }
。我查看了这个属性,得到的结果是:
User.Identity.AuthenticationType = "";User.Identity.IsAuthenticated = false;User.Identity.Name = "“
有没有可能通过这种设置从User.Identity
获得一些有效的值?
发布于 2016-01-07 19:25:22
这取决于您想要哪个用户,运行网站服务/应用程序池的用户(例如networkservice),或者登录到您的网站的经过身份验证的用户。假设您已经在IIS中登录并设置了身份验证,这可能是为了传递凭证,然后可以在API中提取这些凭证。
using (HttpClient httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }))
如果没有一大堆细节,很难说清楚。
https://stackoverflow.com/questions/34663423
复制