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

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

2009-04-27 15:26 483 查看
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属性就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: