This repository has been archived by the owner on Sep 7, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Routen Sicherung
Stephan edited this page Aug 4, 2019
·
1 revision
Um die Routen in allen Services zu sichern, wird in jedem relevanten Service eine KeycloakConfiguration annotierte Klasse erzeugt. Sie erbt von KeycloakWebSecurityConfigurerAdapter.
Die SessionAuthenticationStrategy muss die NullAuthenticatedSessionStrategy nutzen, damit der Service ohne Sessions, aslo stateless arbeitet.
@Bean
@Override
protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
return new NullAuthenticatedSessionStrategy();
}
Die Routen Konfiguration sieht folgendermaßen aus:
@Override
protected void configure(HttpSecurity http) throws Exception {
super.configure(http);
http.csrf().disable().authorizeRequests()
.antMatchers(HttpMethod.GET,"/projects**").permitAll()
.antMatchers("/projects/**").hasRole("professor")
.antMatchers(HttpMethod.GET, "/projectStudyCourses/**").permitAll()
.antMatchers("/projectStudyCourses/**").denyAll()
.antMatchers(HttpMethod.GET, "/projectModules/**").permitAll()
.antMatchers("/projectModules/**").denyAll()
.antMatchers("/profile/**").permitAll()
.anyRequest().denyAll();
}
Zu beachten ist, dass Anfragen zu einer Route von oben nach unten abgearbeitet werden, beim Prüfen, ob der Zugriff erlaubt ist. Daher sollten die Einträge von spezifisch zu allgemein gehen. Sobald ein Treffer gefunden wurde, findet keine weitere Prüfung von weiteren Einträgen statt.
Weitere Informationen zu Ant Matcher Regeln sind hier zu finden.