로그아웃 처리 개선, 로그인 접속로그 수정
This commit is contained in:
parent
b0452ebd5b
commit
58f07693c5
@ -93,7 +93,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
.disable();
|
.disable();
|
||||||
|
|
||||||
http.logout()
|
http.logout()
|
||||||
.logoutSuccessUrl("/login/loginForm.do?logout")
|
.logoutSuccessUrl("/login/loginCouncil.do?logout=logout")
|
||||||
.invalidateHttpSession(true).deleteCookies("JSESSIONID")
|
.invalidateHttpSession(true).deleteCookies("JSESSIONID")
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -19,11 +20,9 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
import egovframework.com.ext.oauth.service.OAuthUniversalUser;
|
||||||
import nlib.cmm.service.NlibProperty;
|
|
||||||
import nlib.cmm.session.SessionConfig;
|
import nlib.cmm.session.SessionConfig;
|
||||||
import nlib.restful.service.DataApiReqVO;
|
import nlib.restful.service.DataApiReqVO;
|
||||||
import nlib.restful.service.DataApiResVO;
|
import nlib.restful.service.DataApiResVO;
|
||||||
import nlib.security.SecUserVO;
|
|
||||||
import nlib.user.service.LoginService;
|
import nlib.user.service.LoginService;
|
||||||
import nlib.user.service.NlibLoginVO;
|
import nlib.user.service.NlibLoginVO;
|
||||||
import nlib.util.StringUtil;
|
import nlib.util.StringUtil;
|
||||||
@ -176,6 +175,11 @@ public class LoginServiceImpl implements LoginService
|
|||||||
nlibLoginVO.getOrCreateAuthKey(sessionId); // SET AUTHKEY
|
nlibLoginVO.getOrCreateAuthKey(sessionId); // SET AUTHKEY
|
||||||
nlibLoginVO.setIp(req.getRemoteAddr());
|
nlibLoginVO.setIp(req.getRemoteAddr());
|
||||||
|
|
||||||
|
// 지방문화원 정보
|
||||||
|
HttpSession session = req.getSession();
|
||||||
|
nlibLoginVO.setJoinCouncilCd((String)session.getAttribute("councilCd"));
|
||||||
|
nlibLoginVO.setJoinCouncilNm((String)session.getAttribute("councilNm"));
|
||||||
|
|
||||||
// 실제 SecurityContext 에 authentication 정보를 등록한다.
|
// 실제 SecurityContext 에 authentication 정보를 등록한다.
|
||||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||||
SessionConfig.removeLoginInfo(sessionId);
|
SessionConfig.removeLoginInfo(sessionId);
|
||||||
|
|||||||
@ -105,6 +105,7 @@ public class LoginController {
|
|||||||
HttpServletRequest req,
|
HttpServletRequest req,
|
||||||
HttpServletResponse res,
|
HttpServletResponse res,
|
||||||
HttpSession session,
|
HttpSession session,
|
||||||
|
@RequestParam(required = false) String logout,
|
||||||
@RequestParam(required = false) String returnUrl,
|
@RequestParam(required = false) String returnUrl,
|
||||||
@RequestParam(required = false) String callType,
|
@RequestParam(required = false) String callType,
|
||||||
ModelMap model) throws Exception {
|
ModelMap model) throws Exception {
|
||||||
@ -151,7 +152,8 @@ public class LoginController {
|
|||||||
"&councilNm=" + StringUtil.encodeBase64(councilNm) +
|
"&councilNm=" + StringUtil.encodeBase64(councilNm) +
|
||||||
"&councilHomeUrl=" + StringUtil.encodeBase64(councilHomeUrl) +
|
"&councilHomeUrl=" + StringUtil.encodeBase64(councilHomeUrl) +
|
||||||
"&councilReturnUrl=" + StringUtil.encodeBase64(councilReturnUrl) +
|
"&councilReturnUrl=" + StringUtil.encodeBase64(councilReturnUrl) +
|
||||||
"&callType=" + StringUtil.getString(callType, "");
|
"&logout=" + StringUtil.getString(logout, "") +
|
||||||
|
"&callType=" + StringUtil.getString(callType, "") ;
|
||||||
|
|
||||||
return "redirect:" + NlibProperty.getString("nculture.login.preset.redirect.url") + "?" + params;
|
return "redirect:" + NlibProperty.getString("nculture.login.preset.redirect.url") + "?" + params;
|
||||||
}
|
}
|
||||||
@ -209,12 +211,12 @@ public class LoginController {
|
|||||||
redirect = councilHomeUrl + NlibProperty.getString("nculture.member.redirect.uri");
|
redirect = councilHomeUrl + NlibProperty.getString("nculture.member.redirect.uri");
|
||||||
} else {
|
} else {
|
||||||
redirect = councilHomeUrl + NlibProperty.getString("nculture.login.redirect.uri");
|
redirect = councilHomeUrl + NlibProperty.getString("nculture.login.redirect.uri");
|
||||||
|
redirect = StringUtil.addWebParamOfUrl(redirect, "logout", logout);
|
||||||
}
|
}
|
||||||
|
|
||||||
return "redirect:" + redirect;
|
return "redirect:" + redirect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 로그인 정보 입력 화면을 출력한다.
|
* 로그인 정보 입력 화면을 출력한다.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -169,4 +169,16 @@ public class StringUtil extends StringUtils {
|
|||||||
|
|
||||||
return (hostName.split("\\."))[0];
|
return (hostName.split("\\."))[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String addWebParamOfUrl(String url, String name, String value) {
|
||||||
|
if(isEmpty(url)) return url;
|
||||||
|
if(isEmpty(name)) return url;
|
||||||
|
|
||||||
|
String delim = "?";
|
||||||
|
if(url.contains("?")) {
|
||||||
|
delim = "&";
|
||||||
|
}
|
||||||
|
|
||||||
|
return url + delim + name + "=" + getString(value, "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user