我尝试添加自定义过滤器并将其作为bean注入,我还尝试在WebSecurityConfigurerAdapter中禁用cors,我还尝试在configure HttpSecurity方法中添加过滤器。
这些我已经尝试过的一些链接:
1:Spring引导安全性的CORS问题。
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
private final CustomUserDetailsService customUserDetailsService;
private final AuthConfigProperties authConfigProperties;
public WebSecurityConfig(@Lazy CustomUserDetailsService customUserDetailsService, AuthConfigProperties authConfigProperties) {
this.customUserDetailsService = customUserDetailsService;
this.authConfigProperties = authConfigProperties;
}
@Bean
@Override
public AuthenticationManager authenticationManager() throws Exception {
return super.authenticationManager();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder(authConfigProperties.getBcryptRounds());
}
@Override
public void configure(HttpSecurity http) throws Exception {
http
.requestMatchers()
.antMatchers("/login", "/logout", "/oauth/authorize")
.and()
.logout()
.deleteCookies("JSESSIONID")
.permitAll()
.and()
.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.csrf()
.disable();
http.cors().disable();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailsService).passwordEncoder(passwordEncoder());
}
}
这段代码起作用:
import com.example.myAuthServer.service.CustomUserDetailsService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
private final CustomUserDetailsService customUserDetailsService;
private final AuthConfigProperties authConfigProperties;
public WebSecurityConfig(@Lazy CustomUserDetailsService customUserDetailsService, AuthConfigProperties authConfigProperties) {
this.customUserDetailsService = customUserDetailsService;
this.authConfigProperties = authConfigProperties;
}
@Bean
@Override
public AuthenticationManager authenticationManager() throws Exception {
return super.authenticationManager();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder(authConfigProperties.getBcryptRounds());
}
@Override
public void configure(HttpSecurity http) throws Exception {
http
.cors()
.and()
.requestMatchers()
.antMatchers("/login", "/logout", "/oauth/authorize")
.and()
.logout()
.deleteCookies("JSESSIONID")
.permitAll()
.and()
.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.csrf()
.disable();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailsService).passwordEncoder(passwordEncoder());
}
}
但是,为了获得原始帖子中显示的错误,您只需要让浏览器知道所请求的服务器url具有相同的“allow-control-access-origin”响应的url。
我们可以通过在客户端应用代理来实现这一点,在我的例子中,我使用的是React。
const proxy = require("http-proxy-middleware");
module.exports = function (app) {
app.use(proxy("/oauth/token", {target: "http://localhost:8089"})); // put your host and api
};
fetch("/oauth/token", {
method: "POST",
body: qs.stringify(Auth.bodyForNewToken(username, password)),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Authorization: "Basic " + btoa("<CLIENT>:<SECRET>")
}
});
问题内容: 因此,我们的应用程序可以在启用了CORS的生产环境中工作。 我有一个本地未启用CORS的项目。有没有办法为量角器禁用Web安全性?我有办法向selenium实例添加参数吗? 我们正在寻找基于配置的解决方案。我们的本地开发机器在安装方面受到很大限制。那有可能吗? 我尝试过的是设置镶边选项:https : //github.com/angular/protractor/issues/175
我有一个支持霸气2的要求 我已经使用docket对象创建了swagger 2 如何仅禁用/启用摇摆 3 或摇摆 2?我的意思是如何禁用 swagger 3 配置? 我没有使用启用/禁用swagger 3配置类。只需添加maven依赖项swagger 3就可以了。
如何为执行器endpoint启用安全性,当在Spring启动1.5.4.RELEASE项目中没有Spring Security模块依赖项时 我在应用程序中添加了以下值。属性,但当我单击任何endpoint时,我会得到错误 我应该如何启用安全性?
默认情况下,所有敏感的HTTP端点都是安全的,只有具有Actuator角色的用户才能访问它们。安全性是使用标准的HTTPServletRequest.isUserInRole方法实施的。我们可以使用management.security.enable = false来禁用安全性。只有在执行机构端点在防火墙后访问时,才建议禁用安全性。
我正在使用Activiti7,我想禁用activiti安全性。我尝试重写WebSecurityConfigurerAdapter配置方法,但它不起作用
null