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