java / beginner
Snippet
Rollenbasierte Zugriffskontrolle mit @PreAuthorize
Die @PreAuthorize-Annotation von Spring Security wertet SpEL-Ausdrücke vor dem Ausführen einer Methode aus. In diesem Beispiel wird der Zugriff auf listAllUsers() ausschließlich auf authentifizierte Benutzer mit der Rolle 'ADMIN' beschränkt, um unbefugten Zugriff zu verhindern.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
@RestController@RequestMapping("/api/admin")public class AdminController {@GetMapping("/users")@PreAuthorize("hasRole('ADMIN')")public List<String> listAllUsers() {return List.of("Alice", "Bob", "Charlie");}}
spring
Erklärung
1
@PreAuthorize("hasRole('ADMIN')")
Prüft vor dem Methodenaufruf, ob der aktuell authentifizierte Benutzer die Rolle 'ADMIN' besitzt.
2
public List<String> listAllUsers() {
Deklariert die geschützte Endpunkt-Methode, die eine Liste von Benutzernamen zurückgibt.