2012-11-05 2 views
9

Ich bin nicht sicher, was mir fehlt, aber ich kann wirklich nicht zu User.Identity unter OnActionExecuting(ActionExecutingContext filterContext)Kann nicht auf User.Identity unter OnActionExecuting Zugriff (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) 

Jeder Hinweis entnehmen, wie man es beheben?

Antwort

7

Ich fand die Lösung.

Es sollte

sein
filterContext.HttpContext.User.Identity.IsAuthenticated 
9

Ich glaube, dass Sie AuthorizeAtribute statt Action verwendet werden soll. Versuchen Sie etwas wie dieses:

using System.Web; 
using System.Web.Mvc; 

public class AuthorizeUser : AuthorizeAttribute 
{ 
    public override void OnAuthorization(AuthorizationContext filterContext) 
    { 
     var id = filterContext.RequestContext.HttpContext.User.Identity; 
    } 
} 
Verwandte Themen