로그인한 사용자의 업무권한 확인 수정

main
이범준 1 year ago
parent 9966b371a3
commit 6c706c4c49

@ -14,6 +14,7 @@ import cokr.xit.base.code.CommonCode;
import cokr.xit.base.code.service.CodeQuery;
import cokr.xit.base.code.service.CodeService;
import cokr.xit.base.code.service.bean.CodeBean;
import cokr.xit.base.security.Authority;
import cokr.xit.base.security.SecuredUserInfo;
import cokr.xit.base.security.access.service.AuthorityService;
import cokr.xit.base.user.UserQuery;
@ -117,12 +118,16 @@ public class UserController extends cokr.xit.base.user.web.UserController<FimsUs
boolean isPublicOfficer = fimsUser.getCntnSeCd().equals("01");
userInfo.getInfo().put("isPublicOfficer", isPublicOfficer);
CodeQuery codeQuery = new CodeQuery();
codeQuery.setGroupIDs("FIM054");
List<DataObject> taskList = codeBean.getCodeList(codeQuery);
String[] taskRoles = taskList.stream().map((item) -> { return "ROLE_"+item.string("CODE"); })
.toList().toArray(new String[taskList.size()]);
boolean hasTaskAuth = userInfo.hasAuthorities(taskRoles);
List<String> user_auths = userInfo.getAuthorities().stream().map(Authority::getAuthority).toList();
List<String> user_taskList = codeBean.getCodeList(new CodeQuery().setGroupIDs("FIM054"))
.stream().map(row -> row.string("CODE")).toList()
.stream().filter(task -> {
for (String auth: user_auths)
if (auth.contains(task))
return true;
return false;
}).toList();
boolean hasTaskAuth = !user_taskList.isEmpty();
userInfo.getInfo().put("hasTaskAuth", hasTaskAuth);

@ -115,8 +115,10 @@ public class StngBean extends AbstractBean {
for(int i=0; i<taskList.size(); i++) {
String task = taskList.get(i);
if(authId.equals("ROLE_"+task)) {
availableTaskList.add(task);
if(authId.contains(task)) {
if(!availableTaskList.contains(task)) {
availableTaskList.add(task);
}
}
}
}

Loading…
Cancel
Save