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

时间:2011-07-28 14:44:24

标签: java security spring spring-security roles

我有USERROLEUSER_ROLE个表以及一堆Spring控制器...是否有一个Spring注释我可以添加到控制器方法中来指定角色(s )用户应该必须能够访问它吗?

我想这将是Spring的安全性?是否可以直接连接到现有的用户/角色架构?

我正在使用Spring 2.5.4。

2 个答案:

答案 0 :(得分:4)

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

@PreAuthorize("hasRole('ROLE_ADMIN')")
public void deleteUser(User user) {
  ...
}

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

答案 1 :(得分:0)

Spring Security注释,如下:

@Secured({"ROLE_1", "ROLE_2"})
public String mySecuredHander() {
   return "foo";
}