簡體   English   中英

如何在Web API中使用“User.Identity.IsAuthenticated”

[英]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.IsAuthenticatedApiController始終為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM