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

Protecting method calls in Spring multiactionController using methodNameResolver

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

  1. 查看客户
  2. 添加客户
  3. 删除客户

使用方法名称解析器调用上述操作。

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

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

我也在使用 Spring 安全。有没有什么方法可以用 Spring 安全性来保护删除客户方法?

选项:

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

 }

或使用@EnableGlobalMethodSecurity

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