mvc 过滤器验证身份 排除指定不验证action
2017-06-29 11:58
260 查看
using System; using System.Web.Mvc; namespace Test.Web { /// <summary> /// 身份证验证过滤器 /// </summary> public class Check : ActionFilterAttribute { // OnActionExecuted 在执行操作方法后由 ASP.NET MVC 框架调用。 // OnActionExecuting 在执行操作方法之前由 ASP.NET MVC 框架调用。 // OnResultExecuted 在执行操作结果后由 ASP.NET MVC 框架调用。 // OnResultExecuting 在执行操作结果之前由 ASP.NET MVC 框架调用。</span> public override void OnActionExecuting(ActionExecutingContext filterContext) { //先判断需不需过滤器 object[] attrs = filterContext.ActionDescriptor.GetCustomAttributes(typeof(NoCheck), true); if (attrs.Length == 0) { //这里是业务逻辑 if (true) { //没有通过权限 //直接返回文本 filterContext.Result = new ContentResult() { Content = "无权限访问", ContentEncoding = System.Text.Encoding.UTF8 }; // filterContext.Result = new HttpUnauthorizedResult("kaixin/index"); //filterContext.HttpContext.Response.Redirect("kaixin/index"); //filterContext.Result = new RedirectResult("http://www.baidu.com");//也可以跳到别的站点 // filterContext.Result = new RedirectToRouteResult("Default", new System.Web.Routing.RouteValueDictionary(new { controller = "kaixin", action= "index" })); } } } } //不需要验证的 public class NoCheck : Attribute { public NoCheck() { } } }
相关文章推荐
- 全局过滤器中排除指定Controller和action方法(二)
- MVC Dynamic Authorization--示例市在Action前进行的验证,应提前到Auth过滤器
- MVC及Web API添加身份验证及错误处理的过滤器
- Mvc全局过滤器与Action排除
- Mvc全局过滤器与Action排除
- 全局过滤器中排除指定Controller和action方法
- asp.net mvc5 身份验证过滤器
- 全局过滤器中排除指定Controller和action方法
- 全局过滤器中排除指定Controller和action方法(二)
- ASP.NET MVC 5改进了基于过滤器的身份验证
- MVC及Web API添加身份验证及错误处理的过滤器
- MVC使用Exception过滤器自定义处理Action的的异常
- MVC中使用ActionFilterAttribute全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
- ASP.NET MVC:窗体身份验证及角色权限管理示例
- ASP.NET MVC使用Oauth2.0实现身份验证
- ASP.NET MVC 窗体身份验证及角色权限管理示例
- (四)学习MVC之修改个人资料和身份验证登陆
- MVC之 自定义过滤器(ActionFilterAttribute)
- asp.net mvc中Forms身份验证身份验证流程
- MVC 中排除不需要的验证属性