我使用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();
}
非常感谢您的光临
1条答案
按热度按时间fsi0uk1n1#
缺省情况下,spring Boot 查找类路径中的静态内容文件和目录,如下所示
1./静态/
1./公开/
1./资源/
1./中继INF/资源
所以,如果你想访问
index.html
,要么它应该存在于类路径中,要么你需要configure the location
。如果要配置类路径中存在的位置
或者如果你想配置类路径之外的位置,那么你也可以做如下的事情,
参考:https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot