【发布时间】:2014-07-29 09:32:34
【问题描述】:
我有带有自定义操作过滤器属性“FeatureAuthenticationAttribute”的操作方法,我想将标志值传递给过滤器;
如果传递标志值是假的,它应该重定向到 FeatureDenied Action Method。为此:
[FeatureAuthenticationAttribute(flagvalue)]
public ActionResult Jobs()
{
return View();
}
public ActionResult FeatureDenied()
{
return View();
}
对于过滤器:
[AttributeUsage(AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class FeatureAuthenticationAttribute : FilterAttribute, IAuthorizationFilter
{
public override void OnAuthorization (AuthorizationContext filterContext,bool flagvalue)
{
if (flagvalue== false) // I want to check here
{
string redirectURL = @"~/Employer/FeatureDenied";// Redirect to Action Method
filterContext.Result = new RedirectResult(redirectURL);
}
}
}
有可能像上面那样吗?如果是这样,我在 Filter Attribute 中发现如何实现或执行此操作。请帮帮我。
【问题讨论】:
-
这个标志值应该从哪里来?
-
标志值来自数据库,但这不是问题,我想检查标志是真还是假,如果它是假的,那么它应该重定向到 FeatureDenied Action 方法。
标签: c# asp.net-mvc-4 actionfilterattribute