如何使用“;User.Identity.IsAuthenticated”;在Web API中
本文关键字:Web API Identity 何使用 User IsAuthenticated | 更新日期: 2023-09-27 17:49:33
User.Identity.IsAuthenticated
在我的ASP.NET Web API项目中始终返回false
。
在帐户ApiController
中,我有以下内容:
ClaimsIdentity identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() {
IsPersistent = isPersistent
}, identity);
登录后,User.Identity.IsAuthenticated
始终是ApiController
中的false
而是MVC控制器中的CCD_ 7。
ApiController具有User属性,可从以下位置获得:
base.User.Identity.IsAuthenticated
无法在APIControiler中直接使用HttpContext属性。要得到这个,你必须使用类型为System.Net.Http.HttpRequestMessage的Request属性。HttpRequestMessage有一个Properties字典;您将发现密钥MS_UserPrincipal的值包含您的IPrincipal对象。
var isAusorized = (Request.Properties["MS_HttpContext"] as HttpContextWrapper).User.Identity.IsAuthenticated;