我正在尝试创建一个Spring Boot应用程序(最新版本),它可以:
所有这些都应该能够服务于:
这意味着应该应用以下映射:
笔记:
我列出了许多endpoint,但这仅仅是因为我无法将所有这些和安全公共/非公共结合起来,并且在互联网上找不到任何将所有这些结合起来的示例。
到目前为止我拥有的:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.cors().and()
.csrf().disable()
.authorizeRequests()
// Public static files
.antMatchers(HttpMethod.GET, "/ui/login", "/ui/forgot", "/ui/media/**", "/ui/style/**", "/ui/script/**").permitAll()
// User static files based on Thymeleaf
.antMatchers(HttpMethod.GET,"/ui/user/**").hasRole("USER")
// Administration static file
.antMatchers(HttpMethod.GET,"/ui/admin/**").hasRole("ADMIN")
// Authentication REST endpoints
.antMatchers(HttpMethod.POST, "/api/auth/login").permitAll()
.antMatchers(HttpMethod.POST, "/api/auth/forgot").permitAll()
// /api/ping, /api/pong endpoints
.antMatchers("/api/ping").permitAll()
.antMatchers("/api/pong").hasAnyRole("USER", "ADMIN")
// /api/v1/** endpoint
.antMatchers("/api/v1/**").permitAll()
.anyRequest().authenticated().and()
// JWT filter
.addFilterAfter(new JWTAuthorizationFilter(), UsernamePasswordAuthenticationFilter.class)
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/resources/**");
}
}
身份验证过程和RESTendpoint可以工作,但Thymeleafendpoint找不到资源文件,静态文件根本不可访问(甚至是公共的或经过身份验证的)。
在过去的三周里,我尝试了很多组合,我真的快要放弃了。
有人能给我指出正确的方向吗?
将其添加到WebSecurity配置类中
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/resources/**", "/static/**", "/css/**");
}
我已经创建了身份提供程序,并且从浏览器中它工作正常。 参考:密钥斗篷身份提供程序后代理登录抛出错误 从浏览器,我可以使用外部IDP登录,如果外部IDP用户不在keycloak中,它会在keyclock中创建,这绝对没问题,并重定向到仪表板。 但我的问题是,我们如何用keycloak rest api实现这个流程? 是否有任何api用于使用外部IDP登录,并将获得外部IDP的令牌以及密钥斗篷的令牌?
问题内容: 我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。 我的html文件使用这样的代码- 我的nginx配置是这样的 有一个目录,其中有相应的&目录。 奇怪的是,当我访问它们时页面显示正常。 我已经清除了
我有一个Go1.11应用程序,目录如下: 和我的app.yaml: 在本地使用dev_appserver.py时,一切都可以正常工作,但部署到AppEngine后,我的所有静态资产都得到了404S。想法?
我有一个django应用程序,静态文件使用nginx服务。我想在项目中包括应用程序(功能)。 我想创建一个新应用程序,把文件放在静态文件夹下。(但我需要更改nginx conf以提供来自这些dir的文件) > 如果我们想从两个位置提供静态文件,如何更改nginx conf? 我当前的nginx配置如下 如果我们把所有文件都放在主项目中(静态、模板),维护起来会不会变得复杂? 有没有办法像 别名/m
问题内容: 基本上,我为客户制作了一个(相对)简单的应用程序。该应用程序正常工作,但他们一直在要求更改数据。 鉴于该应用程序最初的预期简单性以及它保存静态数据的事实,我没有将其链接到任何后端。该数据将保存在本地静态文件中,而该对象具有保存数据的对象。 问题在于,fle被捆绑到了buld中,因此,如果我只想更改一些静态数据而不必进行rbuild,我不会! 我的数据文件可以在公用文件夹中访问,并且可以
问题内容: 我想在localhost上的gunicorn下运行django项目。我安装并集成了Gunicorn。当我跑步时: 它可以工作,但是没有任何静态文件(css和js) 我在settings.py中禁用了debug和template_debug(将它们设置为false),但是仍然相同。我想念什么吗? 我称静态为: 问题答案: 在开发模式下以及使用其他服务器进行本地开发时,请将其添加到url.