Heim >Java >javaLernprogramm >Wie ordne ich Anforderungs-Matcher in Spring Security für die rollenbasierte Zugriffskontrolle richtig an?

Wie ordne ich Anforderungs-Matcher in Spring Security für die rollenbasierte Zugriffskontrolle richtig an?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 04:16:10251Durchsuche

How to Correctly Order Request Matchers in Spring Security for Role-Based Access Control?

Korrektur der Rollenverwaltung in Spring Security

Ihr Problem mit der rollenbasierten Zugriffskontrolle in Spring Security ergibt sich aus der Reihenfolge Ihrer Anfrage-Matcher. Der Matcher für jede Anfrage sollte nach bestimmten rollenbasierten Matchern kommen.

Um dieses Problem zu beheben und den Administratorzugriff einzuschränken, ändern Sie Ihre Konfiguration wie folgt:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .csrf().disable()      
        .httpBasic()
            .and()
        .authorizeRequests()
            .antMatchers("/users/all").hasRole("admin")
            .anyRequest().authenticated() // Moved after role-based matcher
            .and()
        .formLogin()
            .and()
        .exceptionHandling().accessDeniedPage("/403");
}

Mit dieser Konfiguration werden Anfragen an / Benutzer/alle benötigen die Administratorrolle, während für alle anderen Anforderungen ein authentifizierter Benutzer erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie ordne ich Anforderungs-Matcher in Spring Security für die rollenbasierte Zugriffskontrolle richtig an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn