I am not sure what do I am missing but I really cannot refer to
User.Identity
under OnActionExecuting(ActionExecutingContext filterContext)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using System.Web.Routing;
.....
public class RealUserAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
/// if (User.Identity.IsAuthenticated)
Any clue how to fix it?
I found the solution.
It should be
filterContext.HttpContext.User.Identity.IsAuthenticated
I believe that you should be using AuthorizeAtribute instead of ActionFilter. Try something like this:
using System.Web;
using System.Web.Mvc;
public class AuthorizeUser : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
var id = filterContext.RequestContext.HttpContext.User.Identity;
}
}
filterContext.RequestContext.HttpContext.Request.IsAuthenticated
works! and no need to check id User or User.Identity are null
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With