使用@PreAuthorize

时间:2016-07-13 17:29:33

标签: javascript java spring spring-security

最近,我一直致力于这样一个要求:某些UI元素应仅对具有特定角色的用户可见(比如角色为XXX)

我用过:

<sec:authorize access="hasRole('XXX')"> <input type="button"/></sec:authorize>

工作正常。

但我只是想了解我是否需要在java代码中添加以下行?如果是,那么为什么?

@PreAuthorize("hasRole('XXX')") 

1 个答案:

答案 0 :(得分:1)

通常,这取决于。

如果您使用Spring MVC构建/维护经典MVC应用程序,并且所有RequestMapping都指向(JSP)视图(因此由{{1}解析并且通常由InternalResourceViewResolver呈现)您不需要JspServlet

但是,如果您要暴露至少一个端点,例如作为JSON / XML,如果需要,您需要添加@PreAuthorize

简单地说,如果您的处理程序方法返回一个由ViewResolver解析的值,请使用JSPVelocityFreemarker的相应标记,否则请考虑使用{{ 1}}。