获取上下文中的组织信息
场景描述
在java中获取当前登录者的相关信息
实现思路
通过提供的获取上下文信息的API获取具体的name、code、id等
具体实现
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
RequestContext rc = ContextUtil.getRequestContext(request);
List<PersonMember> psList= rc.getAllPersonMembers();//获取当前人的所有人员成员
PersonMember mainPsm = rc.getMainPersonMember();//获取主岗人员成员
UserInfo userinfo = rc.getUserInfo();//获取当前用户信息
List<Role> roles = rc.getRoles();//获取当前人拥有的角色
rc.hasRole("roleCode");//通过角色code判断是否拥有某个角色
for(PersonMember ps:psList) {
OrgNode dptNode = ps.getDpt();//获取部门的OrgNode ps.getOgn(),ps.getPos();
String dptName = dptNode.getName();//dptNode.getFid(), dptNode.getFname(), dptNode.getFcode(), dptNode.getId(), dptNode.getCode()
String name = ps.getName();
String fname = ps.getFname();
ps.isMain();
}
for(Role role:roles) {
String rolename = role.getName();
String rolecode = role.getCode();
String roleid = role.getId();
}