Commit 9aa88af9 by 泽锋 李

接入权限管理

parent 8beec454
......@@ -37,6 +37,32 @@ namespace AutoTurnOver.Models
public bool has_admin { get; set; }
public List<saas_menu_info_dto> menuInfoDtos { get; set; }
public List<tree_menu_dto> tree_menu_list()
{
if (menuInfoDtos == null) return new List<tree_menu_dto>();
else
{
return menuInfoDtos.Where(s => s.isshow == true && s.menuFatherCode == null).Select(s => new tree_menu_dto
{
url = s.html_url,
name = s.menuName,
child = menuInfoDtos.Where(v => s.menuCode == v.menuFatherCode).Select(v => new tree_menu_dto
{
url = v.html_url,
name = v.menuName
}).ToList()
}).ToList();
}
}
public class tree_menu_dto
{
public string url { get; set; }
public string name { get; set; }
public List<tree_menu_dto> child { get; set; }
}
}
public class saas_result_dto<T>
......@@ -76,6 +102,21 @@ namespace AutoTurnOver.Models
return _menuUrl_list;
} }
/// <summary>
/// 用于前端显示的地址
/// </summary>
public string html_url { get
{
if(menuUrl_list!=null && menuUrl_list.Count >= 1)
{
return menuUrl_list[0];
}
else
{
return null;
}
} }
public string menuIco { get; set; }
public string menuFatherCode { get; set; }
......
......@@ -58,6 +58,8 @@ namespace AutoTurnOver.Models
/// </summary>
public string UserName { get; set; }
public List<SaasUserInfo.tree_menu_dto> tree_menu_list { get; set; }
#endregion
}
......
......@@ -23,10 +23,12 @@ namespace AutoTurnOver.Common
{
var userInfo = MyHttpContext.Current.Session.GetString("UserInfo");
var saasUser = userInfo.ToObj<SaasUserInfo>();
return new UserData {
return new UserData
{
UserName = saasUser.Account,
UserAccount = saasUser.Account,
DepartmentName = ""//saasUser.Department==null?"":saasUser.Department.Name
DepartmentName = "",//saasUser.Department==null?"":saasUser.Department.Name
tree_menu_list = saasUser.tree_menu_list()
};
}
......@@ -37,7 +39,7 @@ namespace AutoTurnOver.Common
/// <returns></returns>
public static string LoginOutUrl()
{
return ConfigurationManager.AppSettings["WebHost_LoginOut"].ToString() ;
return ConfigurationManager.AppSettings["WebHost_LoginOut"].ToString();
}
}
}
......@@ -70,7 +70,7 @@ namespace AutoTurnOver.Models
string userStr = httpHelper.Request(getUser, HHttpHelper.RequestType.GET);
tokenUser user_info = userStr.ToObj<tokenUser>();
user_info.result.has_admin = false;
var menusStr = httpHelper.Request(getMenus+ "?ProjectCode=BaiLun_Aims", HHttpHelper.RequestType.GET);
var menusStr = httpHelper.Request(getMenus+ "?ProjectCode=BaiLun_CRM", HHttpHelper.RequestType.GET);
var saas_menus = menusStr.ToObj<saas_result_dto<Saas_MenusDto>>();
if (saas_menus == null)
{
......@@ -121,7 +121,8 @@ namespace AutoTurnOver.Models
if (isAciton)
{
SaasUserInfo userInfoData = userInfo.ToObj<SaasUserInfo>();
if(!userInfoData.menuInfoDtos.Any(s=>s.menuUrl_list.Any(m=> ("/api/" + controllerActionDescriptor.ControllerTypeInfo.Name + "/" + controllerActionDescriptor.MethodInfo.Name).Equals(m,StringComparison.OrdinalIgnoreCase)) ))
var requst_url = ("/api/" + controllerActionDescriptor.ControllerTypeInfo.Name + "/" + controllerActionDescriptor.MethodInfo.Name);
if (!userInfoData.menuInfoDtos.Any(s=>s.menuUrl_list.Any(m=> m!=null && requst_url.Equals(m,StringComparison.OrdinalIgnoreCase)) ))
{
context.Response.StatusCode = 401;
filterContext.Result = new ContentResult
......
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