AclClassIdUtils:无法获取类ID类型

时间:2019-05-21 11:53:05

标签: java spring-security acl

我在我的实体的权限级别上集成了ACL的配置代码。一切正常,甚至检查用户是否持有特定权限并根据其角色拒绝/允许访问。但是无论何时检查权限,我都会在控制台中收到以下错误,我想消除该错误。

我已经尝试过将列class_id_type添加到acl_class,但这并没有改变任何内容。

@Column(name = "class_id_type")
@Null
private String classIdType;

我正在使用     编译组:“ org.springframework.security”,名称:“ spring-security-core”,版本:“ 5.1.2.RELEASE”

2019-05-21 13:42:17.593调试4036 --- [nio-8080-exec-4] o.s.security.acls.jdbc.AclClassIdUtils:无法获取类ID类型

org.postgresql.util.PSQLException:在此ResultSet中找不到列名class_id_type。

1 个答案:

答案 0 :(得分:1)

在默认的 BasicLookupStrategy 中从class_id_type中选择了

acl_class,但是class_id_type列已更改为Spring Security官方网站中的类

create table acl_class(
    id bigint generated by default as identity(start with 100) not null primary key,
    class varchar_ignorecase(100) not null,
    constraint unique_uk_2 unique(class)
);

因此,只需创建自己:实现BasicLookupStrategy中的LookupStrategy的公共类MyLookupStrategy,以及来自AclClassIdUtils的公共类MyAclClassIdUtils

然后将“ class_id_type”更改为“ class”, 然后它应该可以工作。