Tidak jelas bagi saya apa perbedaan keamanan musim semi antara:
@PreAuthorize("hasRole('ROLE_USER')")
public void create(Contact contact)
Dan
@Secured("ROLE_USER")
public void create(Contact contact)
Saya mengerti PreAuthorize dapat bekerja dengan spring el tetapi dalam sampel saya, apakah ada perbedaan nyata?
spring-security
Jerome VDL
sumber
sumber
Jika Anda ingin melakukan sesuatu seperti mengakses metode hanya jika pengguna memiliki Role1 dan Role2 maka Anda harus menggunakan @PreAuthorize
Menggunakan
sumber
Sederhananya,
@PreAuthorize
lebih baru dari@Secured
.Jadi saya katakan lebih baik menggunakan
@PreAuthorize
karena "berbasis ekspresi" dan Anda dapat menggunakan ekspresi seperti hasRole, hasAnyRole, permitAll, dll.Untuk mempelajari tentang ekspresi, lihat contoh ekspresi ini .
sumber
@PreAuthorize
berbeda, lebih kuat dari@Secured
.jadi Anda tidak dapat mengekspresikan kondisi DAN menggunakan
sumber
"hasRole('ADMIN OR hasRole('USER')"
?sumber