Spring Security Sping Boot +安全性:如何重定向到未经身份验证的index.html

blmhpbnm  于 2022-11-24  发布在  Spring
关注(0)|答案(1)|浏览(179)

我使用Sping Boot 构建了一个小型API。对于身份验证和授权,我将Spring安全性与Keycloak结合使用。我当前的问题是,当http://myserver:8080打开时,我希望显示一个静态index.html,提供有关API的一些信息。index.html在那里,可以使用http://myserver:8080/index.html访问。但是,当刚打开http://myserver:8080时,请求被重定向到http://localhost:8080/auth/。我的问题是:
1.如何将任何请求从根http://localhost:8080/*重定向到http://localhost:8080/index.html
1.什么是合理的HttpSecurity配置?我想在不验证的情况下授予对根目录/* 的访问权限,但我想要求对所有子文件夹(如/api/*)进行验证。我尝试了以下方法,但似乎不正确。

@Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.csrf().disable().authorizeRequests().antMatchers("/*").permitAll().anyRequest().authenticated();
    }

非常感谢您的光临

fsi0uk1n

fsi0uk1n1#

缺省情况下,spring Boot 查找类路径中的静态内容文件和目录,如下所示
1./静态/
1./公开/
1./资源/
1./中继INF/资源
所以,如果你想访问index.html,要么它应该存在于类路径中,要么你需要configure the location
如果要配置类路径中存在的位置

spring.web.resources.static-locations=classpath:/files/

或者如果你想配置类路径之外的位置,那么你也可以做如下的事情,

spring.web.resources.static-locations=file:<path_to_file>

参考:https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot

相关问题