Spring MVC:如何在成功登录后转发到特定页面?
Spring MVC: How do I forward to a specifc page after a successful Login?
Spring MVC 的新手,我试图在登录后转发到我的应用程序的特定页面。
我该怎么做?
是否使用WebSecurityConfigurerAdapter
?
如果您正在使用 spring-security,您可以将其映射到目标 url
类似 -
<form-login login-page="/login" authentication-failure-url="/denied"
username-parameter="username" password-parameter="password"
default-target-url="/home" />
这个post详细介绍一下。
使用@RequestMapping注解转发到特定页面。所以在 Controller class 中你会有类似的东西:
@RequestMapping(value = "/menu", method = RequestMethod.POST)
public String showMainMenu(
UserBean user, BindingResult result) {
if (result.hasErrors()) {
return "login";
}
try {
loginMethod();
return "menu";
} catch (Exception e) {
e.printStackTrace();
}
}
(其中 loginMethod() 是来自您的登录逻辑所在的另一个 class 的方法)。并且控制器在成功登录后转发到 /menu URL,或者如果在登录尝试时出现错误则停留在 /login 页面上。
登录成功后,您可能只是重定向到一些不同的请求映射。
if(successfulLogin){
return "redirect:../abc/differenturl";
}
Spring MVC 的新手,我试图在登录后转发到我的应用程序的特定页面。
我该怎么做?
是否使用WebSecurityConfigurerAdapter
?
如果您正在使用 spring-security,您可以将其映射到目标 url
类似 -
<form-login login-page="/login" authentication-failure-url="/denied"
username-parameter="username" password-parameter="password"
default-target-url="/home" />
这个post详细介绍一下。
使用@RequestMapping注解转发到特定页面。所以在 Controller class 中你会有类似的东西:
@RequestMapping(value = "/menu", method = RequestMethod.POST)
public String showMainMenu(
UserBean user, BindingResult result) {
if (result.hasErrors()) {
return "login";
}
try {
loginMethod();
return "menu";
} catch (Exception e) {
e.printStackTrace();
}
}
(其中 loginMethod() 是来自您的登录逻辑所在的另一个 class 的方法)。并且控制器在成功登录后转发到 /menu URL,或者如果在登录尝试时出现错误则停留在 /login 页面上。
登录成功后,您可能只是重定向到一些不同的请求映射。
if(successfulLogin){
return "redirect:../abc/differenturl";
}