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/**");
}
我有 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/**");
}