【发布时间】:2016-01-08 03:35:21
【问题描述】:
我们正在运行一个asp.net mvc应用程序(客户端-用户通过浏览器访问此应用程序),它利用HttpClient类调用asp.net web api应用程序(服务器-我想访问用户信息用户。调用客户端应用程序的人)。这是一个内部网应用程序。我们将 asp.net web api 作为 Windows 服务托管。在这种情况下如何获取用户名?
ApiController 类有一个属性public IPrincipal User { get; }。我看了这个属性,这就是我得到的:
User.Identity.AuthenticationType = ""; User.Identity.IsAuthenticated = false; User.Identity.Name = ""
是否可以通过这种设置从User.Identity 获得一些有效值?
【问题讨论】:
-
有点取决于您的用户是谁...谁将连接到该服务?或者您只是想要登录到运行服务的 PC 的用户的用户名?
-
您在这两个应用程序中的哪个应用程序中执行此操作?您如何对该应用程序进行身份验证?
-
@Grantly:我想要调用客户端应用程序(asp.net mvc app)的用户的用户名。然后,客户端应用程序调用作为 Windows 服务托管的 asp.net Web api 服务。
-
@David:用户在
asp.net mvc application中进行了身份验证。此应用程序使用 Windows 身份验证,稍后此应用程序使用HttpClient类调用 asp.net Web api 应用程序。我希望用户名在@asp.net web api 端(服务器端)可用,而无需使用HttpClient类来发布该信息。我不知道我能不能做到这一点。
标签: asp.net asp.net-mvc asp.net-web-api asp.net-web-api2