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

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

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

然后新建 FilterBadHeader
public class FilterBadHeader:IFilter
{
IFilterMembers#regionIFilterMembers

publicboolPerform(ExecuteEnumexec,IRailsEngineContextcontext,Controllercontroller)
{
if(context.Session["USER"]==null)
{
context.Response.Write(
"Denied!");

returnfalse;
}


returntrue;
}


#endregion

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

这样给每一个需要进行权限判断的controller加入相同的Filter属性就可以了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值