Esempio n. 1
0
        public static async Task <Response> IsHavePower(IsPowerIng ResultMsg, int Id)
        {
            Response response = new Response
            {
                code = Convert.ToInt32(StatusEnum.Failed)
            };

            response.msg = "暂无权限";
            try
            {
                var list = await SqlDapperHelper.ReturnListTAsync <Role>("select SR.Id,SR.AdminId,SR.PowerSetId,SR.CreateTime,SP.ActionName,SP.ControllerNmae,SP.PowerName,SP.MenuId  from Sys_Role SR join Sys_PowerSet SP  on SR.PowerSetId=SP.Id  where SR.AdminId=@AdminId", new { AdminId = Id });

                var isHave = list.Any(x => x.ControllerNmae == ResultMsg.ControllerName && x.ActionName == ResultMsg.ActionName);
                if (isHave)
                {
                    response.code = Convert.ToInt32(StatusEnum.Succeed);
                    response.msg  = "正常";
                }
                else
                {
                    response.code = Convert.ToInt32(StatusEnum.Error);
                    response.msg  = "暂无权限";
                }
            }
            catch (Exception ex)
            {
                LogHelp.Error(ex);
            }
            return(response);
        }
        public async Task <Response> IsPower(IsPowerIng Result)
        {
            Response response = new Response
            {
                code = Convert.ToInt32(StatusEnum.Failed)
            };

            response = await CheckPower.IsHavePower(Result, Id);

            return(response);
        }
Esempio n. 3
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var isDefined = false;
            var controllerActionDescriptor = filterContext.ActionDescriptor as ControllerActionDescriptor;

            if (controllerActionDescriptor != null)
            {
                isDefined = controllerActionDescriptor.MethodInfo.GetCustomAttributes(inherit: true)
                            .Any(a => a.GetType().Equals(typeof(NoPermission)));
            }
            if (isDefined)
            {
                return;
            }


            //if (string.IsNullOrWhiteSpace(filterContext.HttpContext.Request.Query["LoginInfo"].ToString()))
            //{
            //    var item = new ContentResult();
            //    item.Content = "没得权限";

            //    filterContext.Result = new RedirectResult("/Account/Login");
            //}
            if (string.IsNullOrWhiteSpace(controllerActionDescriptor.ControllerName) && string.IsNullOrWhiteSpace(controllerActionDescriptor.ActionName))
            {
                return;
            }
            var reaData = new IsPowerIng()
            {
                ControllerName = controllerActionDescriptor.ControllerName,
                ActionName     = controllerActionDescriptor.ActionName
            };

            var Result = Post <IsPowerIng, Response>("http://192.168.20.78:61555/", "api/CheckPowers/IsPower/", reaData).GetAwaiter().GetResult();

            if (Result.code != 1)
            {
                var item = new ContentResult();
                item.Content         = "没得权限";
                filterContext.Result = new RedirectResult("/Login/Index");
            }
            base.OnActionExecuting(filterContext);
        }