【发布时间】:2018-02-03 19:47:51
【问题描述】:
如果您在控制器上下文中,则可以访问当前经过身份验证的用户。拍Get the current user, within an ApiController action, without passing the userID as a parameter之类的文章。
但是,如果我的控制器调用了一个服务(相同的程序集),但这里我没有控制器上下文。
真正获得经过身份验证的用户的最佳方法是什么?
【问题讨论】:
-
是什么阻止您将当前经过身份验证的用户传递给您的服务?
-
@KirkLarkin 让我的方法签名变得非常琐碎。好像没有那么干净。假设您想公开 API 并允许它在没有实际客户使用的情况下使用它,那么它并不是很干净。
-
在这种情况下,您的问题似乎更多是关于如何处理可选身份验证而不是 ASP.NET Web API 的细节。一旦您担心自己只能偶尔拥有用户,拥有一个自动检测是否有用户或只是有一个用户的服务可能不会有很大的不同。
-
如果有用的话可以看看这个教程:stormpath.com/blog/10-minute-asp-net-user-authentication
标签: asp.net asp.net-web-api asp.net-web-api2 asp.net-identity