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); }
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); }