我已将配置部分设置为
<authentication mode="Forms"/>
在api项目和客户端项目中。
我能够从客户端项目访问HttpContext.Current.User.Identity.Name但不能访问api
从API调用时,HttpContext.Current.User.Identity.IsAuthenticated为false,但不是从客户端项目调用
从web api项目
访问HttpContext.Current.Session没有问题我错过了什么吗?
答案 0 :(得分:0)
从这篇文章中收集: http://dotnetspeak.com/2014/02/leveraging-forms-authentication-in-web-api
在web api中使用HttpContext.Current.User是一个坏主意,因为它将API绑定到asp.net站点 - 这意味着api不能被除当前基于浏览器的其他任何东西使用应用。看起来有一些进一步的配置涉及与api共享表单身份验证。即使有可能,我也会尝试寻找另一种方法来检索当前用户并将数据(id)从客户端传递给API,以便从API中获取当前用户。