Spring 中使用 XML 配置的方法级访问控制



我们可以使用以下代码实现方法级访问控制:

public class HelloController implements IHelloController{
    @RequestMapping(method=RequestMethod.GET)
    @PreAuthorize("hasRole('ROLE_ADMIN')")
    public String welcome(ModelMap model){
       model.addAttribute("message","Welcome Admin");
       return "hello";
    }
}

我想知道,是否有可能通过某些XML配置来限制对特定方法的访问。如果是,那怎么做?

冰雹好!!

您可以在

XML 配置的 <global-method-security> 标记中使用pointcut expressions。如果需要,这也将允许您将多个方法与正则表达式匹配。

例:

<global-method-security>
    <protect-pointcut expression="execution(* com.yourpackage.IHelloController.welcome(..))" access="ROLE_ADMIN"/>
</global-method-security>

在此处阅读更多内容。

最新更新