Пример #1
0
        public static void AppInstanceAuthOnActionExecuting(ActionExecutingContext context)
        {
            bool   isPost           = context.HttpContext.Request.Method.ToLower().Equals("post");
            String appInstanceToken = isPost ? context.HttpContext.Request.Form["apt"] : context.HttpContext.Request.Query["apt"];
            String strAppInstanceId = isPost ? context.HttpContext.Request.Form["aid"] : context.HttpContext.Request.Query["aid"];
            int    appInstanceId    = 0;

            int.TryParse(strAppInstanceId, out appInstanceId);
            if (appInstanceId > 0)
            {
                var authority = SecurityRoot.GetAuthority();
                if (authority != null)
                {
                    String actionName  = context.ActionDescriptor.DisplayName;
                    String serviceName = context.RouteData.Values["Controller"].ToString();
                    Dictionary <string, List <string> > authorityData = SecurityRoot.GetAuthority();
                    if (authorityData.ContainsKey(serviceName))
                    {
                        if (!authorityData[serviceName].Exists(af => af == actionName))
                        {
                            context.Result = new ContentResult()
                            {
                                Content = "功能未授权"
                            };
                        }
                    }
                    else
                    {
                        context.Result = new ContentResult()
                        {
                            Content = "服务未授权"
                        };
                    }
                }
                else
                {
                    context.Result = new ContentResult()
                    {
                        Content = "无授权数据"
                    };
                }
            }
            else
            {
                context.Result = new ContentResult()
                {
                    Content = "无授权标识"
                };
            }
        }
Пример #2
0
        public static void JobAuthorityOnActionExecuting(ActionExecutingContext context)
        {
            bool   isPost = context.HttpContext.Request.Method.ToLower().Equals("post");
            String token  = isPost ? context.HttpContext.Request.Form["jt"] : context.HttpContext.Request.Query["jt"];

            if (!String.IsNullOrEmpty(token))
            {
                var authority = JobAuthorityCache.GetJobAuthData(token);
                if (authority != null)
                {
                    String actionName  = context.ActionDescriptor.DisplayName;
                    String serviceName = context.RouteData.Values["Controller"].ToString();
                    Dictionary <string, List <string> > authorityData = SecurityRoot.GetAuthority();
                    if (authorityData.ContainsKey(serviceName))
                    {
                        if (!authorityData[serviceName].Exists(af => af == actionName))
                        {
                            context.Result = new ContentResult()
                            {
                                Content = "功能未授权"
                            };
                        }
                    }
                    else
                    {
                        context.Result = new ContentResult()
                        {
                            Content = "服务未授权"
                        };
                    }
                }
                else
                {
                    context.Result = new ContentResult()
                    {
                        Content = "无授权数据"
                    };
                }
            }
            else
            {
                context.Result = new ContentResult()
                {
                    Content = "无授权标识"
                };
            }
        }