OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-10 75d46e1c4bd19c7fc63053b28792246bf68f3e28
사용자가 로그인시에 등급 또는 부서가 변경되면 세션 만료 시켜야함
7개 파일 변경됨
43 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/constant/MsgConstants.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java 14 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java 6 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/i18n/ko/global.json 4 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/common/common.controller.js 12 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/common/sidebar.html 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -221,11 +221,13 @@
    public static final String USER_LEVEL_NOT_EXIST = "USER_LEVEL_NOT_EXIST";   //  사용자 등급이 존재하지 않습니다.
    public static final String USER_LEVEL_NOT_DELETE = "USER_LEVEL_NOT_DELETE";   // 기본 사용자 등급은 삭제할수 없습니다.
    public static final String USER_LEVEL_REMOVE_NOT_SELECT = "USER_LEVEL_REMOVE_NOT_SELECT";   // 삭제할 사용자 등급이 선택되지 않았습니다.
    public static final String USER_LEVEL_CHANGE = "USER_LEVEL_CHANGE";   // 사용자의 등급이 변경 되었습니다. 다시 로그인 해주세요.
    public static final String DEPARTMENT_NOT_EXIST = "DEPARTMENT_NOT_EXIST";   // 부서가 존재하지 않습니다.
    public static final String DEPARTMENT_ALREADY_IN_USE = "DEPARTMENT_ALREADY_IN_USE";   // 선택한 부서는 이미 사용하고 있습니다.
    public static final String DEPARTMENT_REMOVE_NOT_SELECT = "DEPARTMENT_REMOVE_NOT_SELECT";   // 삭제할 부서가 선택되지 않았습니다.
    public static final String USER_DEPARTMENT_CHANGE = "USER_DEPARTMENT_CHANGE";   // 사용자의 부서가 변경 되었습니다. 다시 로그인 해주세요.
    public static final String COMPANY_REMOVE_NOT_SELECT = "COMPANY_REMOVE_NOT_SELECT";   // 삭제할 업체가 선택되지 않았습니다.
    public static final String COMPANYFIELD_NOT_EXIST = "COMPANYFIELD_NOT_EXIST";   // 업체가 존재하지 않습니다.
src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
@@ -17,6 +17,7 @@
import kr.wisestone.owl.web.form.UserDepartmentForm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -29,6 +30,12 @@
    @Autowired
    private DepartmentService departmentService;
    @Autowired
    private UserService userService;
    @Autowired
    private SimpMessagingTemplate simpMessagingTemplate;
    @Override
    protected JpaRepository<UserDepartment, Long> getRepository() {
@@ -73,6 +80,7 @@
    @Override
    public void userDepartmentModify(UserDepartmentForm userDepartmentForm) {
        Long userId = userDepartmentForm.getUserId();
        User user = this.userService.getUser(userId);
        // 기존 데이터 삭제
        this.userDepartmentRepository.removeByUserId(userId);
@@ -86,8 +94,12 @@
            list.add(userDepartment);
        }
        this.userDepartmentRepository.saveAll(list);
        //  부서 변경 된 유저 로그아웃 시키기
        this.simpMessagingTemplate.convertAndSendToUser(user.getAccount(), "/notification/changeUserDepartment", this.messageAccessor.getMessage(MsgConstants.USER_DEPARTMENT_CHANGE));
        //  세션 업데이트
        //SecurityUtils.setUserToSession(user);
    }
    @Override
src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java
@@ -126,6 +126,12 @@
            UserLevel userLevel = this.userLevelService.getUserLevel(userWorkspaceForm.getLevelId());
            user.setUserLevel(userLevel);
            userWorkspace.setUser(user);
            //  등급 변경 된 유저 로그아웃 시키기
            this.simpMessagingTemplate.convertAndSendToUser(user.getAccount(), "/notification/changeUserLevel", this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_CHANGE));
            //  세션 업데이트
            //SecurityUtils.setUserToSession(user);
        }
        // 부서 변경
src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
@@ -159,6 +159,7 @@
USER_LEVEL_NOT_EXIST = \uC0AC\uC6A9\uC790 \uB4F1\uAE09\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
USER_LEVEL_NOT_DELETE = \uAE30\uBCF8 \uC0AC\uC6A9\uC790 \uB4F1\uAE09\uC740 \uC0AD\uC81C\uD560\uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
USER_LEVEL_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC0AC\uC6A9\uC790 \uB4F1\uAE09\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
USER_LEVEL_CHANGE = \uC0AC\uC6A9\uC790\uC758 \uB4F1\uAE09\uC774 \uBCC0\uACBD \uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uB85C\uADF8\uC778 \uD574\uC8FC\uC138\uC694.
EXCEL_NOT_EXTENSION = \uC5D1\uC140 \uD30C\uC77C \uD655\uC7A5\uC790 (xlsx)\uB9CC \uC5C5\uB85C\uB4DC\uAC00 \uAC00\uB2A5\uD569\uB2C8\uB2E4.
EXCEL_DOWNLOAD_MAX_ROWS_OVER = \uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC\uB294 1.000 \uAC74 \uAE4C\uC9C0\uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uAC80\uC0C9 \uC870\uAC74\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC870\uD68C\uB418\uB294 \uBAA9\uB85D\uC744 1,000 \uAC74 \uC774\uD558\uB85C \uBCC0\uACBD\uD558\uC5EC \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC9C4\uD589\uD574\uC8FC\uC138\uC694.
@@ -206,6 +207,7 @@
DEPARTMENT_NOT_EXIST = \uBD80\uC11C\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
DEPARTMENT_ALREADY_IN_USE = \uC120\uD0DD\uD55C \uBD80\uC11C\uB294 \uC774\uBBF8 \uC0AC\uC6A9\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4.
DEPARTMENT_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uBD80\uC11C\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
USER_DEPARTMENT_CHANGE = \uC0AC\uC6A9\uC790\uC758 \uB4F1\uAE09\uC774 \uBCC0\uACBD \uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uB85C\uADF8\uC778 \uD574\uC8FC\uC138\uC694.
COMPANY_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC5C5\uCCB4\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
COMPANYFIELD_NOT_EXIST = \uC5C5\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
src/main/webapp/i18n/ko/global.json
@@ -827,6 +827,10 @@
        "failedToUpdateParticipatingSessions": "참여 세션 업데이트 실패",
        "disableParticipationWorkspace": "참여 업무 공간 비활성화 알림",
        "disableParticipationWorkspaceMessage": "현재 이용하고 있는 업무 공간에서 제외되었습니다.",
        "changeUserLevel": "사용자 등급 변경",
        "logoutForLevelChange": "관리자에 의해 등급이 변경되어 세션이 만료되었습니다. \n 다시 로그인 해주세요.",
        "changeUserDepartment": "사용자 부서 변경",
        "logoutForDepartmentChange": "관리자에 의해 부서가 변경되어 세션이 만료되었습니다. \n 다시 로그인 해주세요.",
        "alertsAboutSystem": "시스템 알림 정보",
        "alertSystem": "시스템 알림",
        "newAlert": "새로운 알림이 왔습니다.",
src/main/webapp/scripts/app/common/common.controller.js
@@ -403,6 +403,18 @@
                            });
                        });
                        //  사용자 관리 - 사용자 등급 변경 했을 때
                        $rootScope.webSocket.client.subscribe('/user/notification/changeUserLevel', function (notification) {
                            SweetAlert.warning($filter("translate")("common.changeUserLevel"), $filter("translate")("common.logoutForLevelChange"));
                            $rootScope.$broadcast("logout");
                        });
                        //  사용자 관리 - 사용자 부서 변경 했을 때
                        $rootScope.webSocket.client.subscribe('/user/notification/changeUserDepartment', function (notification) {
                            SweetAlert.warning($filter("translate")("common.changeUserDepartment"), $filter("translate")("common.logoutForDepartmentChange"));
                            $rootScope.$broadcast("logout");
                        });
                        //  참여 업무 공간 비활성화 알림 - 해당 업무 공간를 보고 있을 때
                        $rootScope.webSocket.client.subscribe('/user/notification/workspace-disabled', function (notification) {
                            // edit by zenith at 20200801
src/main/webapp/views/common/sidebar.html
@@ -266,8 +266,7 @@
        </li>
        <li class="sub-header">
            <span>ISSUE LIST</span>
            <span class="mt--14">[{{$root.workProject.name}}]</span>
            <span>ISSUE LIST [{{$root.workProject.name}}]</span>
        </li>
        <li>