Spring 安全weblogic js加载

Spring Security weblogic js loading

我有 Spring 安全的网络应用程序。

当我 运行 我的应用程序在 tomcat9 上时一切正常,但是当 我使用 oracle Weblogic 出了点问题,我的应用程序中的 js 脚本不起作用。

拒绝执行来自“http://localhost:7001/ais/s/lib/datetime/js/moment-with-locales.min.js”的脚本,因为它的 MIME 类型(“application/octet-stream”)不可执行,并且启用了严格的 MIME 类型检查。

这是我的安全配置:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    UserService service;


    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        .authorizeRequests()
            .antMatchers("/s/**").permitAll() 
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .loginPage("/login")
            .permitAll()
            .and()
        .logout()
            .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
            .permitAll();
    }




    @Override
    protected void configure(AuthenticationManagerBuilder auth)
            throws Exception {
        auth
        .userDetailsService(new UserDetailServiceImpl(service));
    }
}

在 WEB-INF 中添加一个 weblogic 部署描述符 folder.Build 您的项目并部署。在我的例子中,我的 xml 看起来像。 weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
  <jsp-descriptor>
    <keepgenerated>true</keepgenerated>
    <debug>true</debug>
  </jsp-descriptor>
  <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
  <context-root>/ContextRootOfYourApp</context-root>
</weblogic-web-app>

我只是通过将这个

放入SecurityConfig来解决它
@Override
public void configure(WebSecurity web) throws Exception {
  web.ignoring().antMatchers("/s/**");
}