Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

Routen Sicherung

Stephan edited this page Aug 4, 2019 · 1 revision

Sicherung der Routen

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.