0 Tage Serie
java / beginner
Snippet

Methodenzugriff nach Benutzerrolle mit PreAuthorize beschränken

Die @PreAuthorize-Annotation wertet vor dem Methodenaufruf einen Spring Expression Language (SpEL)-Ausdruck aus. Sie verweigert die Ausführung und wirft eine AccessDeniedException, wenn der authentifizierte Benutzer nicht über die erforderliche Rolle verfügt.

snippet.java
java
1
2
3
4
5
6
7
8
@Service
public class UserService {
@PreAuthorize("hasRole('ADMIN')")
public void deleteUserAccount(Long userId) {
System.out.println("Admin deleted user with ID: " + userId);
}
}
spring
Erklärung
1
@Service
Kennzeichnet die Klasse als Service-Schicht-Komponente im Spring-Kontext.
2
@PreAuthorize("hasRole('ADMIN')")
Prüft vor Methodenaufruf, ob der angemeldete Benutzer die Berechtigung 'ROLE_ADMIN' besitzt.
3
public void deleteUserAccount(Long userId) {
Führt die Löschlogik nur dann aus, wenn die Berechtigungsprüfung erfolgreich war.