使用methodNameResolver保护Spring multiactionController中的方法调用

时间:2018-05-01 11:57:50

标签: spring spring-mvc spring-security spring-security-acl

我正在使用Spring 3并使用simpleUrlMapping实现了MVC。我正在上CustomerController课。在CustomerController我有三种方法:

  1. 查看客户
  2. 添加客户
  3. 删除客户
  4. 使用方法名称解析程序调用上述操作。

    我的要求取决于我想要保护相应方法调用的登录用户和权限。

    删除客户方法应该由权限用户调用,而不是由所有用户调用。

    我也在使用Spring Security。有没有办法用Spring安全保护删除客户方法?

1 个答案:

答案 0 :(得分:0)

选项:

@RequestMapping
 public void deleteCustomer(HttpServletRequest request) {
    if(request.isUserInRole("ROLE_ADMIN"){
      // do deletion
    };

 }

或使用 @EnableGlobalMethodSecurity

 @PreAuthorize("hasRole('ROLE_ADMIN')")
 @RequestMapping
 public void deleteCustomer(HttpServletRequest request) {