春季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问题的主要内容,如果未能解决你的问题,请参考以下文章

春季安全oauth2返回404

ASP.NET MVC Web API 身份验证令牌安全问题

Spring MVC REST + Spring Security + 基本身份验证

C.S.R.F. 的 MVC 4 Web Api 安全性攻击

春季安全过滤器问题

春季安全会话到期