0 Tage Serie
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;
@Service
public 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.