Définissez les autorisations requises pour accéder à une URL spécifique
JDK 1.8.0_144 spring-boot 1.5.10 spring-security 4.2.4
Obtenez les informations d'autorité à l'avance lors de la connexion. (Parce que ce n'est pas là cette fois) Cette fois, il est supposé que vous pouvez déjà obtenir les droits ADMIN.
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
//...
}
Annoter la classe SecurityConfig existante (n'est-ce pas?)
@EnableGlobalMethodSecurity(prePostEnabled = true)
Ajouter.
@PreAuthorize("hasAuthority('ADMIN')")
//Controller
public void sampleAuth() {
//…
}
Annotation
@PreAuthorize("hasAuthority('ADMIN')")
Avec l'ajout de, cette méthode Controller ne sera accessible qu'aux utilisateurs avec les privilèges "ADMIN".
Les expressions sont disponibles Par exemple, si vous souhaitez autoriser uniquement les demandes d'utilisateurs disposant des privilèges [ADMIN] et [MEMBER] @PreAuthorize("hasAuthority('ADMIN OR hasAuthority('MEMBER')") Tu peux l'utiliser. En plus de cela, [AND] [OR] [NOT (!)] Etc. peut être utilisé.
Recommended Posts