【发布时间】:2013-12-31 21:27:45
【问题描述】:
技术:ASP.Net Web API 2 身份验证。
IDE:我在 Visual Studio 2013 中使用 SPA 模板。
故事:我添加了一个带有一个 Get 方法的控制器(参见代码)并执行了一个测试以打印“System.Threading.Thread.CurrentPrincipal.Identity.Name”。 最终的任务是找到调用 API 的客户端的身份。
问题:为什么身份显示为空?这是否与调用在不同线程上服务的事实有关?令牌(客户端在登录时收到的)是否是请求的一部分并用于身份验证?
为了清楚起见,我尽量保持简短,所以如果您需要更多信息,请告诉我。
public class abcController : ApiController
{
// GET api/abc
public IEnumerable<string> Get()
{
return new string[]
{ System.Threading.Thread.CurrentPrincipal.Identity.Name.ToString(),
"My Try"
};
}
好的,我找到了解决方法(不是解决方案)。基本上,删除这一行“config.SuppressDefaultHostAuthentication();”。 http://forums.asp.net/p/1944393/5594350.aspx?Re+Web+API+2+how+do+I+find+the+identity+of+an+authenticated+user+
【问题讨论】:
-
您在 Startup.Auth.cs 类中配置了什么类型的身份验证?
标签: authentication identity single-page-application asp.net-web-api2