successHandler를 이용한 session 설정.
parent
debc9b46c1
commit
0b7ace50dc
|
|
@ -22,26 +22,16 @@ public class BaseController {
|
||||||
private final MenuMgtService menuMgtService;
|
private final MenuMgtService menuMgtService;
|
||||||
|
|
||||||
@GetMapping("/")
|
@GetMapping("/")
|
||||||
public ModelAndView loginCheck(@AuthenticationPrincipal UserInfo loginUser, HttpSession session) {
|
public ModelAndView loginCheck(@AuthenticationPrincipal UserInfo loginUser) {
|
||||||
ModelAndView mav = null;
|
ModelAndView mav = null;
|
||||||
if(loginUser == null){
|
if(loginUser == null){
|
||||||
mav = new ModelAndView("redirect:/login");
|
mav = new ModelAndView("redirect:/login");
|
||||||
}else{
|
}else{
|
||||||
loginUser.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd()));
|
|
||||||
session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq()));
|
|
||||||
session.setAttribute("commonCode", codeMgtService.getCommonCode());
|
|
||||||
mav = new ModelAndView("redirect:/dashboard");
|
mav = new ModelAndView("redirect:/dashboard");
|
||||||
}
|
}
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/refreshSession")
|
|
||||||
public void getSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){
|
|
||||||
loginUser.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd()));
|
|
||||||
session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq()));
|
|
||||||
session.setAttribute("commonCode", codeMgtService.getCommonCode());
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/login")
|
@GetMapping("/login")
|
||||||
public ModelAndView goLogin() {
|
public ModelAndView goLogin() {
|
||||||
ModelAndView mav = new ModelAndView("/login/login");
|
ModelAndView mav = new ModelAndView("/login/login");
|
||||||
|
|
@ -70,4 +60,10 @@ public class BaseController {
|
||||||
ModelAndView mav = new ModelAndView("login/dashboard");
|
ModelAndView mav = new ModelAndView("login/dashboard");
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){
|
||||||
|
loginUser.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd()));
|
||||||
|
session.setAttribute("menuList", menuMgtService.selectAccessMenuListWhereUserSeq(loginUser.getUserSeq()));
|
||||||
|
session.setAttribute("commonCode", codeMgtService.getCommonCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.dbnt.faisp.config;
|
package com.dbnt.faisp.config;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.userInfo.model.UserInfo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
@ -11,8 +12,11 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
|
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
|
||||||
import org.springframework.security.web.AuthenticationEntryPoint;
|
import org.springframework.security.web.AuthenticationEntryPoint;
|
||||||
|
import org.springframework.security.web.DefaultRedirectStrategy;
|
||||||
import org.springframework.security.web.SecurityFilterChain;
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
import org.springframework.security.web.access.AccessDeniedHandler;
|
import org.springframework.security.web.access.AccessDeniedHandler;
|
||||||
|
import org.springframework.security.web.savedrequest.HttpSessionRequestCache;
|
||||||
|
import org.springframework.security.web.savedrequest.SavedRequest;
|
||||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
@ -22,6 +26,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class SecurityConfig{
|
public class SecurityConfig{
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final BaseController baseController;
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public PasswordEncoder passwordEncoder(){
|
public PasswordEncoder passwordEncoder(){
|
||||||
|
|
@ -81,16 +86,17 @@ public class SecurityConfig{
|
||||||
.defaultSuccessUrl("/") // 로그인 성공 시 이동
|
.defaultSuccessUrl("/") // 로그인 성공 시 이동
|
||||||
/*.failureHandler((request, response, exception) -> {
|
/*.failureHandler((request, response, exception) -> {
|
||||||
|
|
||||||
}) // 로그인 실패시 동작 수행
|
})*/ // 로그인 실패시 동작 수행
|
||||||
.successHandler((request, response, authentication) -> {
|
.successHandler((request, response, authentication) -> {
|
||||||
SavedRequest savedRequest = new HttpSessionRequestCache().getRequest(request,response);
|
SavedRequest savedRequest = new HttpSessionRequestCache().getRequest(request,response);
|
||||||
|
baseController.setSession((UserInfo)authentication.getPrincipal(), request.getSession());
|
||||||
if(savedRequest != null){
|
if(savedRequest != null){
|
||||||
String targetUrl = savedRequest.getRedirectUrl();
|
String targetUrl = savedRequest.getRedirectUrl();
|
||||||
new DefaultRedirectStrategy().sendRedirect(request,response,targetUrl);
|
new DefaultRedirectStrategy().sendRedirect(request,response,targetUrl);
|
||||||
}else{
|
}else{
|
||||||
new DefaultRedirectStrategy().sendRedirect(request,response,"/");
|
new DefaultRedirectStrategy().sendRedirect(request,response,"/");
|
||||||
}
|
}
|
||||||
}) // 로그인 성공시 동작 수행.*/
|
}) // 로그인 성공시 동작 수행.
|
||||||
.and() // 로그아웃 설정
|
.and() // 로그아웃 설정
|
||||||
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")) // 로그아웃 시 URL 재정의
|
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")) // 로그아웃 시 URL 재정의
|
||||||
.logoutSuccessUrl("/") // 로그아웃 성공 시 redirect 이동
|
.logoutSuccessUrl("/") // 로그아웃 성공 시 redirect 이동
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue