java / beginner
Snippet
Einschränken der Ausführung von Service-Methoden mit PreAuthorize
Spring Security ermöglicht die deklarative Autorisierung direkt an Java-Methoden mithilfe der @PreAuthorize-Annotation und SpEL-Ausdrücken (Spring Expression Language). Beim Aufruf fängt Spring den Aufruf ab, prüft die Berechtigungen des Aufrufers und verweigert die Ausführung, wenn die geforderte Rolle fehlt.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
import org.springframework.security.access.prepost.PreAuthorize;import org.springframework.stereotype.Service;@Servicepublic class AccountService {@PreAuthorize("hasRole('ADMIN')")public void deleteAccount(Long accountId) {System.out.println("Account deleted: " + accountId);}}
spring
Erklärung
1
@PreAuthorize("hasRole('ADMIN')")
Legt fest, dass nur Benutzer mit der Berechtigung 'ROLE_ADMIN' die Zielmethode aufrufen dürfen.
2
public void deleteAccount(Long accountId) {
Die Service-Methode mit Fachlogik, die vor unberechtigtem Aufruf geschützt ist.