Im en utilisant RightCheckerAttribute nom de classe pour vérifier l'autorisation de l'utilisateur dans l'application MVC3 ... Ainsi la classe RightCheckerAttribute est comme ça ...Utilisation de filtres d'action sur MVC C# en utilisant la requête chaîne
public bool isAdmin { get; set; }
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContextBase context = filterContext.HttpContext;
bool result = Convert.ToBoolean(context.Request.QueryString["isAdmin"].ToString());
if (isAdmin != result)
{
RouteValueDictionary redirecttargetDictionary = new RouteValueDictionary();
redirecttargetDictionary.Add("action", "NoPermission");
redirecttargetDictionary.Add("controller","Singer");
filterContext.Result = new RedirectToRouteResult(redirecttargetDictionary);
}
//base.OnActionExecuting(filterContext);
}
donc dans la méthode i application cela a tête ..
[RightChecker (isAdmin=true)]
Im L'exécution de cette méthode comme cela ..
http://localhost:5576/Singer/DeleteSinger?isAdmin=true
Le problème est de savoir si je passe vrai ou faux ... Je suis arrivé résultat variable faux ... Et je reçois:
Exception [Null références de l'objet] ...
Quelle ligne vous donne l'exception? – gideon
bool result = Convert.ToBoolean (context.Request.QueryString ["isAdmin"]. ToString()); ligne donne une exception –
Vérification de la chaîne de requête pour déterminer si un utilisateur est un administrateur n'est pas sécurisé. Vous pourriez vouloir stocker cela dans la session insead. –