簡體   English   中英

ASP.NET VNext Request.Properties

[英]ASP.NET VNext Request.Properties

在以前的MVC版本中,我使用像這樣的身份驗證服務

public class OvAuthorizeAttribute : FilterAttribute
    {
        public async Task<HttpResponseMessage> ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task<HttpResponseMessage>> continuation)
        {
                ..........

                var user = await ContainerFactory.Container.GetInstance<IMembershipService>().GetUser(token);
                if (user == null)
                      ........

                actionContext.Request.Properties["User"] = user;
            }
   }



    [OvAuthorize]
    public class CommonController : Controller
    {
        public User CurrentUser
        {
            get
            {
                return Request.Properties["User"] as User; //ERROR
            }
        }
    }

但是現在,我無法在新的Controller定義中訪問Request.Properties

您可以直接從Controller實例獲取User 以下屬性在Controller上公開。

/// <summary>
/// Gets or sets the <see cref="ClaimsPrincipal"/> for user associated with the executing action.
/// </summary>
public ClaimsPrincipal User
{
    get
    {
        return Context?.User;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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