您的位置:首页 > 大数据 > 人工智能

MonoRail学习笔记六:Filter功能使用

2007-10-22 14:24 477 查看
MonoRail中提供了Filter功能,可以在一个请求执行前或执行后执行一个特定的方法。

这样我们就这样实现统一进行用户权限判断等功能。

以下是一个简单的权限判断的演示:

给每一个controller加入属性Filter

[Filter(ExecuteEnum.BeforeAction, typeof(FilterBadHeader))]

public class FilterController : Controller
这里指定此判断是在活动执行前判断(BeforeAction),我们也可以指定在请求执行前(StartRequest)、活动执行后(AfterAction)、页面显示后(AfterRendering),以及这几种情况的合集

然后新建FilterBadHeader类

public class FilterBadHeader : IFilter

{

IFilter Members#region IFilter Members

public bool Perform(ExecuteEnum exec, IRailsEngineContext context, Controller controller)

{

if (context.Session["USER"] == null)

{

context.Response.Write("Denied!");

return false;

}

return true;

}

#endregion

}
就是一个方法:Perform,当返回true时,继续执行,当返回false时,不再执行后续方法

这样给每一个需要进行权限判断的controller加入相同的Filter属性就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: