mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-11-08 10:24:44 +08:00
流程跳转
This commit is contained in:
@@ -15,16 +15,9 @@ namespace OpenAuth.Domain.Interface
|
||||
IEnumerable<Org> LoadByRole(Guid roleId);
|
||||
|
||||
/// <summary>
|
||||
/// 得到全部子部门
|
||||
/// 获取包括自己在内的全部子部门
|
||||
/// </summary>
|
||||
/// <param name="orgId">部门ID</param>
|
||||
IEnumerable<Org> GetSubOrgs(Guid orgId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取包括自己在内的全部子部门
|
||||
/// </summary>
|
||||
/// <param name="orgId">The org identifier.</param>
|
||||
/// <returns>IEnumerable<Org>.</returns>
|
||||
IEnumerable<Org> GetSubWithOwn(Guid orgId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace OpenAuth.Domain.Interface
|
||||
|
||||
int GetRoleCntInOrgs(params Guid[] orgIds);
|
||||
IEnumerable<Role> LoadInOrgs(int pageindex, int pagesize, params Guid[] orgIds);
|
||||
IEnumerable<Role> LoadInOrgs(params Guid[] orgId);
|
||||
IEnumerable<Role> LoadForUser(Guid userId);
|
||||
|
||||
void Delete(Guid id);
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ namespace OpenAuth.Domain.Service
|
||||
private List<ModuleElement> _moduleElements; //用户可访问的菜单
|
||||
private List<Resource> _resources; //用户可访问的资源
|
||||
private List<Org> _orgs; //用户可访问的机构
|
||||
private List<Role> _roles; //用户角色
|
||||
|
||||
public AuthoriseService(IUnitWork unitWork)
|
||||
{
|
||||
@@ -40,6 +41,11 @@ namespace OpenAuth.Domain.Service
|
||||
get { return _modules; }
|
||||
}
|
||||
|
||||
public List<Role> Roles
|
||||
{
|
||||
get { return _roles;}
|
||||
}
|
||||
|
||||
public List<ModuleElement> ModuleElements
|
||||
{
|
||||
get { return _moduleElements; }
|
||||
@@ -80,7 +86,7 @@ namespace OpenAuth.Domain.Service
|
||||
{
|
||||
if (name == "System")
|
||||
{
|
||||
_user = new User{Account = "System"};
|
||||
_user = new User{Account = "System", Id = Guid.Empty};
|
||||
LoadForSystem();
|
||||
}
|
||||
else
|
||||
@@ -104,6 +110,7 @@ namespace OpenAuth.Domain.Service
|
||||
var userRoleIds =
|
||||
_unitWork.Find<Relevance>(u => u.FirstId == _user.Id && u.Key == "UserRole").Select(u => u.SecondId).ToList();
|
||||
|
||||
_roles = _unitWork.Find<Role>(u => userRoleIds.Contains(u.Id)).ToList();
|
||||
//用户角色与自己分配到的模块ID
|
||||
var moduleIds = _unitWork.Find<Relevance>(
|
||||
u =>
|
||||
@@ -143,9 +150,8 @@ namespace OpenAuth.Domain.Service
|
||||
{
|
||||
_modules = _unitWork.Find<Module>(null).ToList();
|
||||
_moduleElements = _unitWork.Find<ModuleElement>(null).ToList();
|
||||
|
||||
_roles = _unitWork.Find<Role>(null).ToList();
|
||||
_resources = _unitWork.Find<Resource>(null).OrderBy(u => u.SortNo).ToList();
|
||||
|
||||
_orgs = _unitWork.Find<Org>(null).OrderBy(u => u.SortNo).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace OpenAuth.Domain.Service
|
||||
|
||||
var orgIds = _authoriseService.Orgs.Select(u => u.Id).ToArray(); //用户可访问的机构ID
|
||||
|
||||
var orgs = _orgRepository.GetSubWithOwn(orgId) //点击的节点与用户可访问的机构合并
|
||||
var orgs = _orgRepository.GetSubOrgs(orgId) //点击的节点与用户可访问的机构合并
|
||||
.Where(u => orgIds.Contains(u.Id))
|
||||
.Select(u => u.Id).ToArray();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user