0 Tage Serie
java / beginner
Snippet

Methodenzugriff über Rollen mit PreAuthorize einschränken

Die @PreAuthorize-Annotation von Spring Security verwendet die Spring Expression Language (SpEL), um Autorisierungsregeln vor dem Ausführen einer Methode zu prüfen. In diesem Beispiel dürfen nur authentifizierte Benutzer mit der Rolle 'ADMIN' die Methode generateFinancialSummary aufrufen; unautorisierte Aufrufe lösen eine AccessDeniedException aus.

snippet.java
java
1
2
3
4
5
6
7
8
@Service
public class AdminReportService {
@PreAuthorize("hasRole('ADMIN')")
public Report generateFinancialSummary() {
return new Report("Q1 Summary", "Confidential financial data");
}
}
spring
Erklärung
1
@Service
Kennzeichnet die Klasse als Spring-Service-Komponente, die vom Spring-Container verwaltet wird.
2
@PreAuthorize("hasRole('ADMIN')")
Stellt sicher, dass der aktuelle Benutzer vor der Methodenausführung über die ADMIN-Berechtigung verfügen muss.
3
public Report generateFinancialSummary() {
Deklariert die geschützte Geschäftsoperation mit Sicherheit auf Methodenebene.
4
return new Report("Q1 Summary", "Confidential financial data");
Erstellt und gibt den geschützten Bericht zurück, sobald der Zugriff gewährt wurde.