小编Ale*_*lex的帖子

有人可以解释一下 spring-security PreAuthorize 注释的优势吗?

例如:

@PreAuthorize("hasRole('admin') && hasPermission('save', #user)")
void updateUser(User user) {
  // some code
}
Run Code Online (Sandbox Code Playgroud)

以及一些没有 PreAuthorize 的示例实现。

void updateUser(User user) {
  Security.hasRole(Roles.ADMIN);
  Security.hasPermission(Permission.SAVE, user);
  // some code
}
Run Code Online (Sandbox Code Playgroud)

第二个例子更容易理解。可以通过IDE重构(重命名角色,或查找所有角色用法)。编译时检查代码。工作更快。并可能有其他优点。

为什么 spring-security 开发人员选择注解和 SpEL?有人可以解释一下吗?

我能找到的只有一个原因 - 更容易访问 ApplicationContext。但据我所知,Spring Security 无论如何都可以通过 SecurityContextHolder 单例工作。

java spring spring-security

5
推荐指数
1
解决办法
2037
查看次数

标签 统计

java ×1

spring ×1

spring-security ×1