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

MonoRail中提供了Filter功能,可以在一个请求执行前或执行后执行一个特定的方法。
这样我们就这样实现统一进行用户权限判断等功能。

以下是一个简单的权限判断的演示:
给每一个controller加入属性Filter
    [Filter(ExecuteEnum.BeforeAction, typeof(FilterBadHeader))]    
    
public class FilterController : Controller
这里指定此判断是在活动执行前判断(BeforeAction),我们也可以指定在请求执行前(StartRequest)、活动执行后(AfterAction)、页面显示后(AfterRendering),以及这几种情况的合集

然后新建FilterBadHeader
    public class FilterBadHeader : IFilter
    
{
        
IFilter Members
    }
就是一个方法:Perform,当返回true时,继续执行,当返回false时,不再执行后续方法

这样给每一个需要进行权限判断的controller加入相同的Filter属性就可以了
posted @ 2007-10-22 14:24 永春 阅读(1818) 评论(5) 编辑 收藏

 回复 引用 查看   
#1楼 2007-10-27 16:31 千里不辞远      
恩,很好,很强大
 回复 引用   
#2楼 2009-04-21 10:03 springsky[未注册用户]
不好意思啊,我是新手,我想问下
BeforeAction StartRequest AfterAction AfterRendering的区别
要是有中文API能给我个吗?我英语好差

 回复 引用   
#3楼 2009-04-21 10:09 springsky[未注册用户]
对了啦,能不能给我个连接数据库的简单的列子啊,要是有包括.NHibernate和
不包括.NHibernate两个版本最好。

 回复 引用 查看   
#4楼 2009-07-08 09:01 zorwi      
我不发表意见,BOB大叔代我发表:“要想我成为好的程序员,可别指望我在Google里搜索相关知识,他们最好到我的办公室格子里来,哦,上午9点到10点吧,一边轻捋我的头发,一边把讲解给我听!)”
请记住,这世界可不欠你的。老板也不欠你。楼主更不欠你。