mvc 过滤器验证身份 排除指定不验证action

5 篇文章 0 订阅

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()
            {
            }
        }
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值