我想为我的Spring应用程序实现ACL Spring Security。我遵循了本教程:
https://www.baeldung.com/spring-security-acl
它总是返回错误
PreparedStatementCallback;错误的SQL语法[选择 acl_object_identity.object_id_identity,acl_entry.ace_order, acl_object_identity.id作为acl_id,acl_object_identity.parent_object, acl_object_identity.entries_inheriting,acl_entry.id作为ace_id, acl_entry.mask,acl_entry.granting,acl_entry.audit_success, acl_entry.audit_failure,acl_sid.principal作为ace_principal, acl_sid.sid为ace_sid,acli_sid.principal为acl_principal, acli_sid.sid作为acl_sid,从acl_object_identity左侧的acl_class.class 在acli_sid.id = acl_object_identity.owner_sid上加入acl_sid acli_sid 在acl_class.id上左加入acl_class = 左acl_object_identity.object_id_class加入acl_entry acl_object_identity.id = acl_entry.acl_object_identity左连接 acl_entry.sid上的acl_sid = acl_sid.id其中( (acl_object_identity.object_id_identity =?和acl_class.class =?)) 按acl_object_identity.object_id_identity升序排列, acl_entry.ace_order asc];嵌套异常为 org.postgresql.util.PSQLException:错误:关系 \“ acl_object_identity \”不存在\ n位置:436
当我调用此方法时,
@PostFilter("hasPermission(filterObject, 'READ')")
public List<Conjunction> findAll(){
return (List<Conjunction>) this.conjunctionRepository.findAll();
}
查找已登录用户具有读取权限的所有对象。
有什么主意吗?