Im używając nazwy klasy RightCheckerAttribute sprawdzić uprawnienia użytkownika w aplikacji MVC3 ... Więc klasa RightCheckerAttribute jest tak ...Używanie filtrów akcji na MVC C# za pomocą string zapytanie
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);
}
Więc ja stosowania w metodzie to ma głowę jak ..
[RightChecker (isAdmin=true)]
Im Wykonanie tego sposobu jak ten ..
http://localhost:5576/Singer/DeleteSinger?isAdmin=true
Problemem jest to, czy jestem przechodzącej prawda czy fałsz ... Mam spowodować zmienna jako fałszywe ... I dostaję:
wyjątków [odniesienia obiektu null] ...
Która linia daje wyjątek? – gideon
bool result = Convert.ToBoolean (context.Request.QueryString ["isAdmin"]. ToString()); linia daje wyjątek –
Sprawdzanie ciągu zapytania w celu ustalenia, czy użytkownik jest administratorem, nie jest bezpieczne. Możesz chcieć zachować to w niezazadanej sesji. –