diff --git a/src/main/java/com/dbnt/faisp/config/BaseController.java b/src/main/java/com/dbnt/faisp/config/BaseController.java
index 7a309464..a3b4b113 100644
--- a/src/main/java/com/dbnt/faisp/config/BaseController.java
+++ b/src/main/java/com/dbnt/faisp/config/BaseController.java
@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;
@@ -69,6 +70,12 @@ public class BaseController {
return mav;
}
+ @GetMapping("/resetSession")
+ public ModelAndView resetSession(@AuthenticationPrincipal UserInfo loginUser, HttpServletRequest request){
+ setSession(loginUser, request.getSession());
+ return new ModelAndView("redirect:/dashboard");
+ }
+
public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){
loginUser.setDownOrganCdList(organConfigService.selectDownOrganListWhereUserOgCd(loginUser.getOgCd()));
loginUser.setUpOrganCdList(organConfigService.selectUpOrganListWhereUserOgCd(loginUser.getOgCd()));
diff --git a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java
index cfbfc673..f342114b 100644
--- a/src/main/java/com/dbnt/faisp/config/SecurityConfig.java
+++ b/src/main/java/com/dbnt/faisp/config/SecurityConfig.java
@@ -127,7 +127,8 @@ public class SecurityConfig{
"/faStatistics/**",
"/translator/**",
"/police/**",
- "/sri/**"
+ "/sri/**",
+ "/resetSession"
).hasRole(Role.USER.name()) // USER 접근 허용
.antMatchers(
"/authMgt/**",
diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/UserMgtController.java b/src/main/java/com/dbnt/faisp/main/userInfo/UserMgtController.java
index d4cfb773..cfadcb95 100644
--- a/src/main/java/com/dbnt/faisp/main/userInfo/UserMgtController.java
+++ b/src/main/java/com/dbnt/faisp/main/userInfo/UserMgtController.java
@@ -1,5 +1,7 @@
package com.dbnt.faisp.main.userInfo;
+import com.dbnt.faisp.config.BaseController;
+import com.dbnt.faisp.config.SecurityConfig;
import com.dbnt.faisp.kwms.service.KwmsService;
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
import com.dbnt.faisp.main.userInfo.model.UserInoutLog;
@@ -9,9 +11,14 @@ import com.dbnt.faisp.main.userInfo.model.UserInfo;
import com.dbnt.faisp.main.userInfo.service.UserLogService;
import lombok.RequiredArgsConstructor;
+import java.security.Principal;
import java.util.List;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -27,12 +34,13 @@ public class UserMgtController {
private final KwmsService kwmsService;
@GetMapping("/userMgtPage")
- public ModelAndView codeMgtPage(UserInfo userInfo) {
+ public ModelAndView userMgtPage(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo) {
ModelAndView mav = new ModelAndView("adminPage/userMgt/userMgt");
userInfo.setQueryInfo();
if(userInfo.getUserStatus() == null || userInfo.getUserStatus().equals("")) {
userInfo.setUserStatus("USC003");
}
+ userInfo.setDownOrganCdList(loginUser.getDownOrganCdList());
mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo));
userInfo.setContentCnt(userInfoService.selectUserInfoListCnt(userInfo));
userInfo.setPaginationInfo();
@@ -41,7 +49,7 @@ public class UserMgtController {
}
@GetMapping("/userEditModal")
- public ModelAndView menuEditModal(UserInfo userInfo){
+ public ModelAndView userEditModal(UserInfo userInfo){
ModelAndView mav = new ModelAndView("adminPage/userMgt/userEditModal");
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
@@ -120,4 +128,23 @@ public class UserMgtController {
mav.addObject("searchParams", inoutLog);
return mav;
}
+ @GetMapping("/accessChangePage")
+ public ModelAndView accessChangePage(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo){
+ ModelAndView mav = new ModelAndView("adminPage/userMgt/accessChange");
+ userInfo.setQueryInfo();
+ userInfo.setUserStatus("USC003");
+ userInfo.setUserRole(loginUser.getUserRole());
+ userInfo.setDownOrganCdList(loginUser.getDownOrganCdList());
+ mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo));
+ userInfo.setContentCnt(userInfoService.selectUserInfoListCnt(userInfo));
+ userInfo.setPaginationInfo();
+ mav.addObject("searchParams", userInfo);
+ return mav;
+ }
+ @PostMapping("/changeAccessUser")
+ public void changeAccessUser(UserInfo userInfo){
+ UserDetails user = userInfoService.loadUserByUsername(userInfo.getUserId());
+ Authentication authentication = new UsernamePasswordAuthenticationToken(user, null, user.getAuthorities());
+ SecurityContextHolder.getContext().setAuthentication(authentication);
+ }
}
diff --git a/src/main/resources/mybatisMapper/UserInfoMapper.xml b/src/main/resources/mybatisMapper/UserInfoMapper.xml
index 33eada68..d2ad3d97 100644
--- a/src/main/resources/mybatisMapper/UserInfoMapper.xml
+++ b/src/main/resources/mybatisMapper/UserInfoMapper.xml
@@ -7,28 +7,40 @@
-
+
user_status = #{userStatus}
user_status != 'D'
-
+
and user_id like '%'||#{userId}||'%'
-
+
and user_nm like '%'||#{userNm}||'%'
-
+
and og_cd = #{ogCd}
-
+
and ofc_cd = #{ofcCd}
-
+
and title_cd = #{titleCd}
+
+ and user_role like '%ROLE_USER'
+
+
+ and (user_role = 'ROLE_SUB_ADMIN,ROLE_USER' or user_role = 'ROLE_USER')
+
+
+ and og_cd in
+
+ #{organCd}
+
+
-
-
-
-
+
+
+
+
diff --git a/src/main/resources/templates/fragments/header.html b/src/main/resources/templates/fragments/header.html
index 66e4aece..88a58bbe 100644
--- a/src/main/resources/templates/fragments/header.html
+++ b/src/main/resources/templates/fragments/header.html
@@ -29,7 +29,7 @@
외사경찰관리
권한설정
사용자로그
- 접속설정
+ 접속설정