• 。NET MVC [AllowAnonymous] 跳过授权过滤器


    [AllowAnonymous]
            public JsonResult LoaderColumns(JObject data)
            {
                DataTable dt = RunProcedureDataTable(data, "sed_s_smp_man_list");
                if (data["loader"].ToString()== "pinZhong" && data["value"].ToString()!="" && dt.Rows.Count==0)
                {
                    ProcInfo pi = new ProcInfo();
                    string sql = @"(SELECT VarietyName AS pinZhong,
                                            VarietySource AS zuHe,
                                            JudgementNo AS shenDingBH,
                                            {0} AS cloader
                                     FROM dbo.VarietyApproval
                                     WHERE VarietyName = '{1}')
                                    UNION
                                    (SELECT VarietyName AS pinZhong,
                                            VarietySource AS zuHe,
                                            NULL AS shenDingBH,
                                            {0} AS cloader
                                     FROM dbo.VarietyRegistration
                                     WHERE VarietyName = '{1}')";
    
                    pi.SQL = String.Format(sql, data["loader"].ToString(), data["value"].ToString());
                    pi.Type = "sql";
                    pi.ConnStr = "bigData";
                    DataSet ds= RunProcedureDataSet(data, pi);
                    if (ds.Tables[0].Rows.Count != 0)
                    {
                        dt = ds.Tables[0];
                    }
                }
                //return JsonConvert.SerializeObject(dt);
    
    
                return JsonNet(dt);
            }
    
    /// <summary>
        /// 自定义Action过滤器:垃圾回收
        /// </summary>
        [AttributeUsage(AttributeTargets.All, AllowMultiple = true)]//多次调用
        public class CustomDisposeFilter : ActionFilterAttribute
        {
            public override void OnActionExecuted(ActionExecutedContext filterContext)
            {
                //判断是否跳过授权过滤器
                if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)
                    || filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true))
                {
                    return;
                }
                base.OnActionExecuted(filterContext);
                GC.Collect();
            }
        }
    
  • 相关阅读:
    开发人员的幽默
    SpaceBuilder 1.0RC源代码提供下载
    什么是Alpha,Beta,RC,RTM版
    SQLite数据库参数化编程时,采用命名参数的方式
    ASP.NET第四天数据库知识
    ASP.NET第五天数据库知识
    ASP.NET第五天HTML基础
    ASP.NET第二天HTML基础
    ASP.NET第四天HTML基础
    ASP.NET第一天HTML基础
  • 原文地址:https://www.cnblogs.com/dreamsails/p/13031183.html
Copyright © 2020-2023  润新知