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
@Servicepublic 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.