66 lines
1.9 KiB
Java
66 lines
1.9 KiB
Java
package com.mca.sec;
|
|
|
|
import java.io.IOException;
|
|
import java.time.LocalDateTime;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import com.mca.cmmn.service.LogService;
|
|
import com.mca.cmmn.vo.LogActions;
|
|
import com.mca.cmmn.vo.LogVO;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
|
|
|
|
import com.mca.sec.vo.LoginUserVO;
|
|
import com.mca.sec.UserUtil;
|
|
|
|
public class LoginSuccessHandler implements AuthenticationSuccessHandler{
|
|
private String roleName;
|
|
|
|
@Resource(name="logService")
|
|
private LogService logService;
|
|
|
|
|
|
|
|
@Override
|
|
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
|
|
Authentication authentication) throws IOException, ServletException {
|
|
// TODO Auto-generated method stub
|
|
|
|
LoginUserVO user = UserUtil.getMemberInfo();
|
|
if(user == null){
|
|
response.sendRedirect("/");
|
|
}else{
|
|
|
|
HttpSession session = request.getSession();
|
|
session.setAttribute("userVO", user);
|
|
|
|
LoginSuccessHandler loginSuccessHandler = new LoginSuccessHandler();
|
|
authentication.getAuthorities().forEach(authority ->{
|
|
loginSuccessHandler.roleName = authority.getAuthority();
|
|
});
|
|
|
|
/*LogVO logVO = new LogVO();
|
|
logVO.setLog(user.getUserid(), LogActions.LOGIN.getValue(), null, LocalDateTime.now());
|
|
logService.insertLog(logVO);*/
|
|
|
|
switch (loginSuccessHandler.roleName) {
|
|
case "ROLE_USER":
|
|
response.sendRedirect("/map/request");
|
|
return;
|
|
case "ROLE_ADMIN":
|
|
response.sendRedirect("/admin/dashBoard");
|
|
return;
|
|
case "ROLE_DISABLE":
|
|
response.sendRedirect("/login?fail");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|