Commit 7d9ae016 by 泽锋 李

接入saas权限模块

parent 9aa88af9
...@@ -43,7 +43,7 @@ namespace AutoTurnOver.Models ...@@ -43,7 +43,7 @@ namespace AutoTurnOver.Models
if (menuInfoDtos == null) return new List<tree_menu_dto>(); if (menuInfoDtos == null) return new List<tree_menu_dto>();
else else
{ {
return menuInfoDtos.Where(s => s.isshow == true && s.menuFatherCode == null).Select(s => new tree_menu_dto return menuInfoDtos.Where(s => s.isshow == true && s.menuFatherCode == "None").Select(s => new tree_menu_dto
{ {
url = s.html_url, url = s.html_url,
name = s.menuName, name = s.menuName,
......
...@@ -70,7 +70,7 @@ namespace AutoTurnOver.Models ...@@ -70,7 +70,7 @@ namespace AutoTurnOver.Models
string userStr = httpHelper.Request(getUser, HHttpHelper.RequestType.GET); string userStr = httpHelper.Request(getUser, HHttpHelper.RequestType.GET);
tokenUser user_info = userStr.ToObj<tokenUser>(); tokenUser user_info = userStr.ToObj<tokenUser>();
user_info.result.has_admin = false; user_info.result.has_admin = false;
var menusStr = httpHelper.Request(getMenus+ "?ProjectCode=BaiLun_CRM", HHttpHelper.RequestType.GET); var menusStr = httpHelper.Request(getMenus+ "?ProjectCode=Bailun_aims", HHttpHelper.RequestType.GET);
var saas_menus = menusStr.ToObj<saas_result_dto<Saas_MenusDto>>(); var saas_menus = menusStr.ToObj<saas_result_dto<Saas_MenusDto>>();
if (saas_menus == null) if (saas_menus == null)
{ {
...@@ -101,50 +101,50 @@ namespace AutoTurnOver.Models ...@@ -101,50 +101,50 @@ namespace AutoTurnOver.Models
} }
} }
} }
context.Session.SetString("UserInfo", user_info.result.ToJson()); userInfo = user_info.result.ToJson();
context.Session.SetString("UserInfo", userInfo);
} }
else
#region 效验操作权限
var isAciton = false;
if (controllerActionDescriptor != null)
{ {
#region 效验操作权限 // 判断控制器或者acion 是否需要验证
var isAciton = false; isAciton = controllerActionDescriptor.MethodInfo.GetCustomAttributes(inherit: true)
if (controllerActionDescriptor != null) .Any(a => a.GetType().Equals(typeof(UseActionAttribute)))
||
controllerActionDescriptor.ControllerTypeInfo.GetCustomAttributes(inherit: true)
.Any(a => a.GetType().Equals(typeof(UseActionAttribute)))
;
//需要验证
if (isAciton)
{ {
// 判断控制器或者acion 是否需要验证 SaasUserInfo userInfoData = userInfo.ToObj<SaasUserInfo>();
isAciton = controllerActionDescriptor.MethodInfo.GetCustomAttributes(inherit: true) var controllerName = controllerActionDescriptor.ControllerTypeInfo.Name.Replace("Controller", "");
.Any(a => a.GetType().Equals(typeof(UseActionAttribute))) var requst_url = ("/api/" + controllerName + "/" + controllerActionDescriptor.MethodInfo.Name);
|| if (!userInfoData.menuInfoDtos.Any(s => s.menuUrl_list.Any(m => m != null && requst_url.Equals(m, StringComparison.OrdinalIgnoreCase))))
controllerActionDescriptor.ControllerTypeInfo.GetCustomAttributes(inherit: true)
.Any(a => a.GetType().Equals(typeof(UseActionAttribute)))
;
//需要验证
if (isAciton)
{ {
SaasUserInfo userInfoData = userInfo.ToObj<SaasUserInfo>(); context.Response.StatusCode = 401;
var requst_url = ("/api/" + controllerActionDescriptor.ControllerTypeInfo.Name + "/" + controllerActionDescriptor.MethodInfo.Name); filterContext.Result = new ContentResult
if (!userInfoData.menuInfoDtos.Any(s=>s.menuUrl_list.Any(m=> m!=null && requst_url.Equals(m,StringComparison.OrdinalIgnoreCase)) ))
{ {
context.Response.StatusCode = 401; Content = "无该功能的操作权限",
filterContext.Result = new ContentResult StatusCode = StatusCodes.Status401Unauthorized,
{ ContentType = "text/html;charset=utf-8"
Content = "无该功能的操作权限", };
StatusCode = StatusCodes.Status401Unauthorized,
ContentType = "text/html;charset=utf-8"
};
}
} }
}
else
{
throw new Exception("程序异常");
} }
}
else
{
throw new Exception("程序异常");
}
#endregion #endregion
}
return; return;
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment