春季MVC安全API问题
Posted
技术标签:
【中文标题】春季MVC安全API问题【英文标题】:spring MVC security API issue 【发布时间】:2020-09-27 23:26:25 【问题描述】:2.5 和 5.2.3 春季安全 API。 第 1 步:创建一个类
@Override
protected void configure(HttpSecurity http) throws Exception
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/showMyLoginPage")
.loginProcessingUrl("/authenticateTheUser")
.permitAll();
第 2 步:创建自定义视图
<form:form action="$pageContext.request.contextPath/authenticateTheUser" method="POST">
<!-- Check for login error -->
<p>
User name: <input type="text" name="username" />
</p>
<p>
Password: <input type="password" name="password" />
</p>
<input type="submit" value="Login" />
</form:form>
在这种情况下,每当我运行代码并登录时,它都会将我重定向到同一个登录页面,因为它应该将我重定向到主视图
@GetMapping("/")
public String getHomeView()
return "Home";
【问题讨论】:
【参考方案1】:您需要对 HttpSecurity 进行更多配置:defaultSuccessUrl
@Override
protected void configure(HttpSecurity http) throws Exception
http.authorizeRequests().anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/showMyLoginPage")
.loginProcessingUrl("/authenticateTheUser")
.defaultSuccessUrl("/", true)
.permitAll();
【讨论】:
以上是关于春季MVC安全API问题的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC Web API 身份验证令牌安全问题
Spring MVC REST + Spring Security + 基本身份验证