例如:有人可以使用Spring-Security PreAuthorize註釋嗎?
@PreAuthorize("hasRole('admin') && hasPermission('save', #user)")
void updateUser(User user) {
// some code
}
而且沒有預先授權一些示例實現。
void updateUser(User user) {
Security.hasRole(Roles.ADMIN);
Security.hasPermission(Permission.SAVE, user);
// some code
}
第二個例子更容易理解。可以通過IDE重構(重命名角色,或查找所有角色用法)。在編譯時檢查代碼。工作更快。並可能有其他優點。
爲什麼春季安全開發者選擇了註釋和SpEL?有人能解釋嗎?
只有一個原因我可以找到 - 更容易訪問ApplicationContext。但據我所見,Spring Security通過SecurityContextHolder單例可以工作。