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