[英]How to use “User.Identity.IsAuthenticated” in Web API
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 Controller中為true
。
ApiController具有User屬性,可從以下位置獲得:
base.User.Identity.IsAuthenticated
它無法直接在APIControiller中使用HttpContext屬性。 為此,您必須使用System.Net.Http.HttpRequestMessage類型的Request屬性。 HttpRequestMessage有一個Properties字典; 你會發現密鑰MS_UserPrincipal的值包含你的IPrincipal對象。
var isAusorized = (Request.Properties["MS_HttpContext"] as HttpContextWrapper).User.Identity.IsAuthenticated;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.