ZOXEXIVO
ZOXEXIVO

Reputation: 960

ASP.NET VNext Request.Properties

In previous MVC version i use authentication service like this

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
            }
        }
    }

But now, i can't access Request.Properties in new Controller definition

Upvotes: 0

Views: 175

Answers (1)

Stafford Williams
Stafford Williams

Reputation: 9806

You can get User directly from the Controller instance. The following property is exposed on Controller.

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

Upvotes: 2

Related Questions