@Configuration
@EnableWebSecurity
class SecurityConfiguration {
@Bean
SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
httpSecurity.authorizeHttpRequests(authorize -> authorize.anyRequest().permitAll()).csrf(AbstractHttpConfigurer::disable);
return httpSecurity.build();
}
@Bean
public SecurityFilterChain securityFilterChainX509(HttpSecurity httpSecurity) throws Exception {
httpSecurity.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.x509()
.subjectPrincipalRegex("CN=(.*?)(?:,|$)");
return httpSecurity.build();
}
@Bean
public SecurityFilterChain securityFilterChainJWT(HttpSecurity httpSecurity) throws Exception {
}
[...]
}
< /code>
Ich klebe hier nur ein Beispiel, aber stellen Sie sich vor, diese Datei ist voll von SecurityFilterchain -Bohnen mit vielen Authentifizierungstypen. Anwendungsfall ist, dass jede der Instanzen derselben App über eine eigene Sicherheitskonfiguration verfügt. Die SecurityFilterchainx509 -Bean, während dieselbe App, die in Frankreich bereitgestellt wurde, das Benutzername -Kennwort überprüfen müsste, während die in Japan bereitgestellte App eine andere Art von Authorte usw. usw. usw. benötigen würde. Wir verwenden einen eher "seltsamen" Ansatz, den wir basierend auf [b] Profilen [/b]. @Bean
@Profile({"canada", "brazil"})
SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {
httpSecurity.authorizeHttpRequests(authorize -> authorize.anyRequest().permitAll()).csrf(AbstractHttpConfigurer::disable);
return httpSecurity.build();
}
@Bean
@Profile({"usa", "egypt"})
public SecurityFilterChain securityFilterChainX509(HttpSecurity httpSecurity) throws Exception {
httpSecurity.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.x509()
.subjectPrincipalRegex("CN=(.*?)(?:,|$)");
return httpSecurity.build();
}
@Bean
@Profile({"germany"})
public SecurityFilterChain securityFilterChainJWT(HttpSecurity httpSecurity) throws Exception {
}
< /code>
Während dieser Ansatz funktioniert, hat er Nachteile. Wir müssen: < /p>
viele Anwendungsprofile beibehalten. Eigenschaften, nur um die richtige Bohne zu bekommen. < /li>
Wenn wir uns ändern müssen Der Code auch.
Gibt es einen Weg ohne Profil, aber mit einer konfigurierbaren Eigenschaft, so etwas wie < /p>
@Value("${the.security.bean.to.use}")
private String configuredSecurityBeanToUse;
So konfigurieren Sie die tatsächliche SecurityFilterchain -Bean?
Ich möchte die tatsächliche SecurityFilterChain -Bean basierend auf einer zu befietsstarken Eigenschaft konfigurieren. >[code]@Configuration @EnableWebSecurity class SecurityConfiguration {
@Bean public SecurityFilterChain securityFilterChainJWT(HttpSecurity httpSecurity) throws Exception {
}
[...]
} < /code> Ich klebe hier nur ein Beispiel, aber stellen Sie sich vor, diese Datei ist voll von SecurityFilterchain -Bohnen mit vielen Authentifizierungstypen. Anwendungsfall ist, dass jede der Instanzen derselben App über eine eigene Sicherheitskonfiguration verfügt. Die SecurityFilterchainx509 -Bean, während dieselbe App, die in Frankreich bereitgestellt wurde, das Benutzername -Kennwort überprüfen müsste, während die in Japan bereitgestellte App eine andere Art von Authorte usw. usw. usw. benötigen würde. Wir verwenden einen eher "seltsamen" Ansatz, den wir basierend auf [b] Profilen [/b]. @Bean @Profile({"canada", "brazil"}) SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception { httpSecurity.authorizeHttpRequests(authorize -> authorize.anyRequest().permitAll()).csrf(AbstractHttpConfigurer::disable); return httpSecurity.build(); }
@Bean @Profile({"germany"}) public SecurityFilterChain securityFilterChainJWT(HttpSecurity httpSecurity) throws Exception {
} < /code> Während dieser Ansatz funktioniert, hat er Nachteile. Wir müssen: < /p>
viele Anwendungsprofile beibehalten. Eigenschaften, nur um die richtige Bohne zu bekommen. < /li> Wenn wir uns ändern müssen Der Code auch. Gibt es einen Weg ohne Profil, aber mit einer konfigurierbaren Eigenschaft, so etwas wie < /p> @Value("${the.security.bean.to.use}") private String configuredSecurityBeanToUse; [/code] So konfigurieren Sie die tatsächliche SecurityFilterchain -Bean?
Ich möchte die tatsächliche SecurityFilterChain -Bean basierend auf einer zu befietsstarken Eigenschaft konfigurieren. > @Configuration
@EnableWebSecurity
class SecurityConfiguration {
Während der Arbeit an einem Angular-Projekt weist Snyk auf die Verwendung von navigationByUrl() in einer meiner Funktionen als potenzielle Sicherheitslücke bei der offenen Weiterleitung hin.
Trotz...
Ich habe vier Domains - Domain.com, Domain.org, Domain.africa und Domain.net. Alle teilen die gleiche Benutzerbasis von DB und einigen Inhalten. Benutzer können sich registrieren und sich auf jeder...
Ich habe einen Datenrahmen und möchte daraus ein Streudiagramm erstellen. Der Basiscode ist:
import plotly.express as px
fig = px.scatter(df, x= X , y= Y , color= size )
Ich arbeite an einer Aufgabe und muss eine Wetter-App erstellen, die über ein wechselndes Hintergrundbild zum Wetter in jeder Stadt verfügt. Ich verwende die OpenWeatherMap-API und habe diesen Code...