Compare commits

..

No commits in common. "200ddd96b91cf6d4c23e22441ec07412c7977acf" and "c7c34f6354b3040396579bd51c48520f14cab6db" have entirely different histories.

7 changed files with 22 additions and 10 deletions

View File

@ -139,8 +139,7 @@ function UserInfoModal({savedInfo, reloadFunction}){
사용자 권한
</Form.Label>
<Col sm={9}>
{/*<CheckBox name={"userRole"} grpCd={"ROLE"} selectedValue={savedInfo?.userRole} />*/}
<SelectOption name={"userRole"} grpCd={"ROLE"} selectedValue={savedInfo?.userRole} />
<CheckBox name={"userRole"} grpCd={"ROLE"} selectedValue={savedInfo?.userRole} />
</Col>
</Form.Group>
<Form.Group as={Row} className="mb-3">

View File

@ -64,7 +64,7 @@ public class TcMenu {
private String menuAuth;
@Transient
private String role;
private List<String> roleList;
@Transient
private List<TcMenu> childList;

View File

@ -163,10 +163,10 @@ public class AdminConfigService extends EgovAbstractServiceImpl {
}
public List<TcMenu> selectMenuListToRole(String menuTypeCd, String role){
public List<TcMenu> selectMenuListToRole(String menuTypeCd, List<String> roleList){
TcMenu params = new TcMenu();
params.setMenuTypeCd(menuTypeCd);
params.setRole(role);
params.setRoleList(roleList);
return menuMapper.selectMenuListToRole(params);
}

View File

@ -3,7 +3,6 @@ package com.dbnt.kcscbackend.admin.leftNav;
import com.dbnt.kcscbackend.admin.config.entity.TcMenu;
import com.dbnt.kcscbackend.admin.config.service.AdminConfigService;
import com.dbnt.kcscbackend.admin.users.service.AdminUsersService;
import com.dbnt.kcscbackend.auth.entity.LoginVO;
import com.dbnt.kcscbackend.config.common.ResultVO;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -23,7 +22,6 @@ import java.util.*;
public class LeftNavController {
private final AdminConfigService adminConfigService;
private final AdminUsersService adminUsersService;
@RequestMapping(method = RequestMethod.GET, value = "/menu")
public ResultVO getMenu(
@ -31,8 +29,7 @@ public class LeftNavController {
@RequestParam(value="menuType", required = true) String menuTypeCd
){
ResultVO resultVO = new ResultVO();
String userRole = adminUsersService.selectUserInfo(user.getUserSeq()).getUserRole();
List<TcMenu> menuList = adminConfigService.selectMenuListToRole(menuTypeCd, userRole);
List<TcMenu> menuList = adminConfigService.selectMenuListToRole(menuTypeCd, Arrays.asList(user.getUserRole().split(",")));
Map<String, String> groupMap = new LinkedHashMap<>();
for(TcMenu menu: menuList){
groupMap.put(menu.getMenuGroup(), menu.getGroupTitle());

View File

@ -70,6 +70,14 @@ public class EgovJwtTokenUtil implements Serializable{
Claims claims = getClaimFromToken(token);
return claims.get("userSe").toString();
}
public String getUserRoleFromToken(String token) {
Claims claims = getClaimFromToken(token);
return claims.get("userRole").toString();
}
public String getInfoFromToken(String type, String token) {
Claims claims = getClaimFromToken(token);
return claims.get(type).toString();
}
public Claims getClaimFromToken(String token) {
return getAllClaimsFromToken(token);
}
@ -93,6 +101,7 @@ public class EgovJwtTokenUtil implements Serializable{
claims.put("id", loginVO.getUserId());
claims.put("remoteAddr", remoteAddr);
claims.put("userSe", loginVO.getUserSe());
claims.put("userRole", loginVO.getUserRole());
claims.put("type", "Authorization");
log.debug("===>>> secret = "+SECRET_KEY);

View File

@ -70,6 +70,10 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
loginVO.setUserSeq(Integer.parseInt(jwtTokenUtil.getUserSeqFromToken(jwtToken)));
loginVO.setId(id);
loginVO.setUserSe(jwtTokenUtil.getUserSeFromToken(jwtToken));
loginVO.setUserRole(jwtTokenUtil.getUserRoleFromToken(jwtToken));
// loginVO.setUniqId( jwtTokenUtil.getInfoFromToken("uniqId",jwtToken) );
// loginVO.setOrgnztId( jwtTokenUtil.getInfoFromToken("orgnztId",jwtToken) );
// loginVO.setName( jwtTokenUtil.getInfoFromToken("name",jwtToken) );
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(loginVO, null,
Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"))

View File

@ -51,7 +51,10 @@
inner join (
select menu_id , string_agg(role_id, ',') as role_cd
from tb_menu_role
where role_id = #{role}
where role_id in
<foreach collection="roleList" item="role" separator="," open="(" close=")">
#{role}
</foreach>
group by menu_id
) b on a.menu_id = b.menu_id
inner join tc_menu c on a.menu_group = c.menu_id