【问题标题】:Protecting method calls in Spring multiactionController using methodNameResolver使用 methodNameResolver 保护 Spring multiactionController 中的方法调用
【发布时间】:2018-10-11 11:13:05
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    选项:

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

    或使用 @EnableGlobalMethodSecurity

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

    【讨论】:

    • 您好,感谢您的回答。在 Spring Security 3 中,我们有 @preauthorize,但你知道我们如何在 Spring Security 2 中实现同样的功能吗?不幸的是,我正在使用 Spring Security 2 和 Spring 3
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2013-02-19
    • 2011-04-07
    • 2016-10-18
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多