
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package egovframework.com.cmm.util;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import egovframework.com.cmm.service.EgovUserDetailsService;
/**
* EgovUserDetails Helper 클래스
*
* @author sjyoon
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2009.03.10 sjyoon 최초 생성
* 2011.07.01 서준식 interface 생성후 상세 로직의 분리
* </pre>
*/
public class EgovUserDetailsHelper {
private static final String LOGIN_URL = "/uat/uia/egovLoginUsr.do";
private static final String INDEX_URL = "/index.do";
private static final String ADMIN_URL = "/admin/index.do";
private static final String LOGIN_ADMIN_URL = "/uat/uia/egovLoginUsr.do";
static EgovUserDetailsService egovUserDetailsService;
public EgovUserDetailsService getEgovUserDetailsService() {
return egovUserDetailsService;
}
public void setEgovUserDetailsService(EgovUserDetailsService egovUserDetailsService) {
EgovUserDetailsHelper.egovUserDetailsService = egovUserDetailsService;
}
/**
* 인증된 사용자객체를 VO형식으로 가져온다.
* @return Object - 사용자 ValueObject
*/
public static Object getAuthenticatedUser() {
return egovUserDetailsService.getAuthenticatedUser();
}
/**
* 인증된 사용자의 권한 정보를 가져온다.
*
* @return List - 사용자 권한정보 목록
*/
public static List<String> getAuthorities() {
return egovUserDetailsService.getAuthorities();
}
/**
* 인증된 사용자 여부를 체크한다.
* @return Boolean - 인증된 사용자 여부(TRUE / FALSE)
*/
public static Boolean isAuthenticated() {
return egovUserDetailsService.isAuthenticated();
}
/**
* 특정 권한 여부를 체크한다.
* @Author : 임종호
* @Date : 2021. 7. 5.
* @Method Name : isRole
* @return : Boolean - 특정 권한 여부 (true / false)
*/
public static Boolean isRole(final String strAutho) {
if (StringUtils.isBlank(strAutho)) {
return false;
}
List<String> authorList = getAuthorities ();
if (authorList != null) {
for (String s : authorList) {
if (s.indexOf (strAutho) != -1) {
return true;
}
}
}
return false;
}
/**
* 특정 권한 배열 여부를 체크한다.
* @Author : 임종호
* @Date : 2021. 7. 5.
* @Method Name : isRole
* @return : Boolean - 특정 권한 여부 (true / false)
*/
public static Boolean isRole(final String[] arrAutho) {
if (arrAutho.length == 0) {
return false;
}
List<String> authorList = getAuthorities ();
if (authorList != null) {
for (String s : authorList) {
for (String a : arrAutho) {
if (s.indexOf (a) != -1) {
return true;
}
}
}
}
return false;
}
/**
* 관리자 권한 확인
* @Author : 임종호
* @Date : 2022. 2. 7
* @Method Name : isRoleAdmin
* @return : Boolean
*/
public static Boolean isRoleAdmin() {
String role = Authory.ROLE_ADMIN;
return isRole(role);
}
/**
* 로그인 페이지 이동
* @Author : 임종호
* @Date : 2021. 7. 5.
* @Method Name : getLoginPage
* @return : String
*/
public static String getLoginPage() {
return "redirect:" + getContextPath() + LOGIN_URL;
}
/**
* Index 페이지 이동
* @Author : 임종호
* @Date : 2021. 9. 27.
* @Method Name : getIndexPage
* @return : String
*/
public static String getIndexPage() {
return "redirect:" + getContextPath() + INDEX_URL;
}
/**
* 관리자 페이지 이동
* @Author : 임종호
* @Date : 2021. 9. 27.
* @Method Name : getAdminPage
* @return : String
*/
public static String getAdminPage() {
return "redirect:" + getContextPath() + ADMIN_URL;
}
/**
* 관리자 로그인 이동
* @Author : 임종호
* @Date : 2021. 9. 27.
* @Method Name : getAdminLogin
* @return : String
*/
public static String getAdminLogin() {
return "redirect:" + getContextPath() + LOGIN_ADMIN_URL;
}
/**
* contextPath 반환(request 없을때)
* @Author : 임종호
* @Date : 2022. 2. 8
* @Method Name : getContextPath
* @return : String
*/
public static String getContextPath() {
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
String contextPath = attr.getRequest().getContextPath();
return contextPath;
}
}