当我使用.html url调用时,Spring Security没有阻塞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我使用.html url调用时,Spring Security没有阻塞相关的知识,希望对你有一定的参考价值。

当我尝试使用扩展名为.html的页面调用页面时:localhost:5000 / user.html它不会重定向到403.当我调用localhost:5000 / user时,它会重定向而没有问题。

我怎样才能使它适用于这两种情况?

@GetMapping("/user")
public String user() {
    return "/user";
}

和安全配置

@Override
protected void configure(HttpSecurity http) throws Exception {

    http.csrf().disable()
            .authorizeRequests()
            .antMatchers("/", "/index", "/subscribed", "/paypal").permitAll()
            .antMatchers("/user").hasAnyAuthority(ROLE.ADMIN.getName())
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/login")
            .permitAll()
            .and()
            .logout()
            .permitAll()
            .and()
            .exceptionHandling().accessDeniedHandler(accessDeniedHandler);
}
答案

如果你想要一个通用的重定向,那么从user和user.html,user.htm等用户开始。然后在最后使用*。

    @GetMapping("/user*")
    public String user() {
        return "/user";
    }

如果您只想专门为user和user.html使用

   @GetMapping(value={"/user", "/user.html"})
    public String user() {
        return "/user";
   }

以上是关于当我使用.html url调用时,Spring Security没有阻塞的主要内容,如果未能解决你的问题,请参考以下文章

当我进行 Rest api 调用时,使用 Spring Boot 动态创建列/表

Spring Boot 入门 404 错误

如何使用 Spring Boot 抑制 url 编码

由于隐藏的输入,带有复选框的 Thymeleaf Spring 表单会生成嘈杂的 url

当我从另一个调用接口方法时,Spring Boot(Java)中出现以下错误

Spring boot无法从数据源(mysql)确定jdbc url