如何保护用户角色的 Spring 控制器方法?

bla*_*ank 2 java security spring roles spring-security

我已经USERROLEUSER_ROLE表和一堆春天控制器...有一个春天的注释,我可以添加到将指定角色(一个或多个)控制方法,用户应该能够访问它?

我猜这将是 Spring 安全性?直接连接到现有的用户/角色模式吗?

我正在使用 Spring 2.5.4。

Cap*_*aps 5

Spring Security 将是您最简单的方法。您特别要求的是Method Security Expressions。您可以使用以下方法实现此目的:

@PreAuthorize("hasRole('ROLE_ADMIN')")
public void deleteUser(User user) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

使用数据库后端设置 Spring Security 非常简单。我会以DAOAuthenticationProvider作为起点。