@Bean
public TomcatServletWebServerFactory servletContainer(){
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(redirectConnector());
return tomcat;
}
private Connector redirectConnector(){
Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(false);
connector.setRedirectPort(8444);
return connector;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("GET");
config.addAllowedMethod("POST");
config.addAllowedMethod("PUT");
config.addAllowedMethod("DELETE");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
protected void configure(HttpSecurity http) throws Exception {
http.cors().and().authorizeRequests().antMatchers("/api/auth/**")
.permitAll()
http.addFilterBefore(corsFilter(), ChannelProcessingFilter.class);
http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.exceptionHandling()
.authenticationEntryPoint(unauthorizedHandler)
.and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/api/auth/**")
.permitAll()
.anyRequest().anonymous();
http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
}
所以我想问题是Spring Security性和Tomcat中的HTTPS重定向的结合。有人能帮我解决这个问题吗?提前感谢,
@Configuration
public class WebConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("*");
}
}
问题内容: 我正在尝试创建一个安全的node.js服务器,以与使用ssl(https)的网站一起使用。 但是,当我启动服务器时,出现以下错误: 我的服务器在没有线路的情况下运行良好。我正在运行node.js(V0.4.1)。 我将不胜感激任何建议。 谢谢。 问题答案: 在Node.JS 0.4中重新执行了HTTPS实现。请参阅nodejs.org上的相应文档。 来自文档的示例:
我刚刚检查了我们的新网站后端代码,发现了这个: 安全与否?如果允许任何来源,用户身份验证是否足够?
我正在使用React Filepond,上传部分工作正常。但是当我转到一个现有的记录并试图显示图像时,我得到一个CORS错误: 访问位于“”的XMLHttpRequesthttp://localhost:8000/img/myImg.jpg“起源”http://localhost:3000'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。 在
问题陈述:我有一些Rest的API,它们使用Spring安全性进行CSRF保护。此外,这些API将通过Angular WEB UI从不同的Origin/domain访问。我不需要Spring Authentication,因为身份验证由Siteminder处理。 方法:我遵循了Dave Syer提供的CSRF保护的链接:登录页面:Angular JS和Spring Security Part II
安全性错误配置在安全性设置被定义,实现和维护为默认设置时出现。良好的安全性要求为应用程序,Web服务器,数据库服务器和平台定义和部署安全配置。使软件保持最新同样重要。 威胁代理 - 匿名外部攻击者以及拥有自己帐户的用户可能会试图破坏系统。 攻击者的方法 - 访问默认帐户,未使用的页面,未修补的漏洞,未受保护的文件和目录以获得未经授权的访问。 安全弱点 - 可以发生在任何级别 - 平台,Web服务器
问题内容: 我正在尝试按照网络上的指南使用Spring安全性来保护我的网站。所以在我的服务器端,WebSecurityConfigurerAdapter和控制器看起来像这样 让我非常困惑的是,服务器不响应POST / DELETE方法,而GET方法可以正常工作。顺便说一句,我在客户端上使用RestTemplate。例外情况是: 我已经在互联网上搜索了几天。还是没有头绪。请帮忙。非常感谢 问题答案: