我已经在我的实体的权限级别上为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。
class_id_type
是在默认的BasicLookupStrategy中从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',然后应该可以。