2
我有了像一个属性basecontroller:过滤器是否可以从我的BaseController访问属性?
public class BaseController : Controller
{
public User CurrentUser {get;set;}
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
// if session cookie found, set User object here
}
}
现在我想创建一个动作过滤器,我可以在我想要做类似控制器或动作的设置:
if (User.IsAdmin)
{
}
else
{
// redirect to login or some page
}
所以这个过滤器@AdminOnly
我可以把一个控制器或操作,这将确保只有具有IsAdmin标志设置的用户才能够查看该操作。
过滤器是否可以看到当前正在执行的控制器?
过滤器的基本控制器正确后会火? – 2014-09-24 18:51:34
不,操作过滤器将在控制器执行操作之前触发,但授权在操作执行之前运行。在你的动作过滤器和你的基本控制器中尝试上面的代码,你可以重写OnAuthorization而不是OnActionExecuting。 – artm 2014-09-24 19:06:28
似乎没有我改变它OnAuth – 2014-09-24 20:42:40