MVC用filter使用
来源:互联网 发布:数据结构和算法java版 编辑:程序博客网 时间:2024/05/19 18:15
转自:http://www.cnblogs.com/zgaspnet/archive/2012/07/26/2610100.html
MVC用filter做权限过滤:
1:创建filter类;类需要继承一个接口,并且重写4个方法;如下:
namespace MvcApplication1.Code
{
public class paramFilter:System.Web.Mvc.ActionFilterAttribute
{
public override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
}
public override void OnActionExecuting(System.Web.Mvc.ActionExecutingContext filterContext)
{
if(filterContext.HttpContext.Request.QueryString["k"]=="go")
{
string retUrl = filterContext.RouteData.GetRequiredString("controller") + "/" + filterContext.RouteData.GetRequiredString("action");
filterContext.HttpContext.Response.Redirect("http://" + filterContext.HttpContext.Request.Url.Host + ":" + filterContext.HttpContext.Request.Url.Port.ToString() + "/" + retUrl);
}
}
public override void OnResultExecuted(System.Web.Mvc.ResultExecutedContext filterContext)
{
base.OnResultExecuted(filterContext);
}
public override void OnResultExecuting(System.Web.Mvc.ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext);
}
}
}
注意:其中 filterContext对象是 从页面传过来的。
获取页面controller值的方法是 filterContext.RouteData.GetRequiredString("controller")
获取页面action值的方法是: filterContext.RouteData.GetRequiredString("action")
转到其他页面的方法是: filterContext.HttpContext.Response.Redirect()I
ip: filterContext.HttpContext.Request.Url.Host
端口:filterContext.HttpContext.Request.Url.Port.ToString()
2:在需要过滤的controller上加上一句代码即可:
[Code.paramFilter]
public ActionResult Index()
{
return View();
}
- MVC用filter使用
- 在MVC中使用filter做权限
- asp.net mvc 下使用 HttpResponse.Filter
- spring 3.1.0.m mvc 使用filter
- MVC 3.0 使用过滤器(Filter)
- ASP.NET MVC中Filter使用
- 使用filter作为控制器的MVC
- ASP.NET MVC中Filter使用
- Asp.net mvc自定义Filter简单使用
- struts2:使用Filter作为控制器的MVC
- 使用Filter作为控制器的MVC
- 10001---使用 Filter 作为控制器的 MVC
- Struts2_001_使用 Filter 作为控制器的 MVC
- MVC Filter
- mvc filter
- MVC用filter做权限过滤
- ASP.NET MVC使用Filter实现页面验证与授权
- Asp.net MVC使用Filter解除Session, Cookie等依赖
- 如果你是一个创业公司 CEO ,如何辞退一个不合适的人?
- J2ME内存优化方法
- 《PicSi的实现细节》 第0节 下载方式及使用说明
- 日常学习笔记
- CreateWindow 创建edit不能使用中文输入的解决办法
- MVC用filter使用
- 月薪8000的出租车司机给我上了震撼一课..
- 天文爱好者的望远镜
- poj 1273 最大流问题
- poj 2253 #floyd
- 格式工厂2012致力于建立一个不受强大的团队
- <win8>(四)实例讲解win8(XAML+C#)开发--------课程表:Snapped模式和动态磁贴,徽章(badge)
- WebLogic是什么?
- 程序员们的时间管理法则