我正在考虑为我的应用程序使用带有EL(表达语言)功能的Spring Security批注。例如:
@PreAuthorize("hasPermission(#contact, 'admin')")
public void deletePermission(Contact contact, Sid recipient, Permission permission);
我需要EL功能,因为我已经构建了自己的ACL实现。但是,要将此功能与“#contact”类型参数一起使用,Spring文档会这样说:
You can access any of the method arguments by name as expression variables, provided your code has debug information compiled in.
这有两个问题:
商业化生产应用
分发了调试信息吗?
这?
感谢您对此的任何指导!
最佳答案
我想这不是您第一次解决问题时的选择,但是现在您可以执行此操作
@PreAuthorize("hasPermission(#contact, 'admin')")
public void deletePermission(@P("contact") Contact contact, Sid recipient, Permission permission);
http://docs.spring.io/spring-security/site/docs/current/reference/html/el-access.html#access-control-using-preauthorize-and-postauthorize
关于debugging - 带EL的Spring安全注释-是否需要在其中编译调试信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905652/