내가 내 응용 프로그램에 액세스 페이지에이 규칙이 실패) 액세스가 실패하면 컨트롤러에서이 이벤트를 처리합니다.차단 - URL 접속 후 특정 URL로 리디렉션은
@RequestMapping(value = "/access-denied", method = RequestMethod.GET)
public String accessDenied(Model model, RedirectAttributes ra) {
// do what I want
return "redirect:login";
}
예를 들어 사용자가/upload를 입력하고 로그인하지 않았으므로/access-denied로 리디렉션됩니다.
예, 스프링 보안은 자동으로 로그인 페이지로 리디렉션됩니다. 로그인 페이지에 로그인 메시지가 표시되도록 플래시 메시지를 표시하고 싶습니다. 리디렉션 된 페이지에 플래시 메시지를 표시하려면 RedirectAttributes를 사용할 수 있습니다. 예 : ra.addFlashAttribute ("errorMsg", "로그인하지 않았습니다."); return "redirect : login"; –
글쎄요, 스프링 시큐리티는 실제로 스프링 MVC에 대해 아무것도 모르기 때문에, 당신은'AuthenticationEntryPoint'에서 이것을 할 수 없습니다. 더블 리디렉션 (컨트롤러에서 먼저, 그리고 로그인 페이지로)을 할 수 있으며, 실제로 사용하도록 설정되어 있다면 플래시 범위 설정을 직접 조작 할 수 있습니다. 또는 리디렉션 URL에 매개 변수를 추가하는 등의 간단한 방법으로 오류 메시지를 설정할 수 있습니다. –
감사합니다. 작동해야합니다. –