我正在使用spring安全acl进行授权。
我想注册一个新用户并授予此用户只修改其自身的权限。我在做这些步骤:
在mysql数据库的users表中添加用户。
设置此用户的权限(在acl表中修改自身的权限)
public void permission(user user){objectidentity oi=new objectidentityimpl(user.class,user.getid());sid=new principalsid(user.getusername());权限p=basepermission.administration;
// Create or update the relevant ACL
MutableAcl acl = null;
try {
acl = (MutableAcl) mutableAclService.readAclById(oi);
} catch (NotFoundException nfe) {
// The poblem is on this line, when it calls createAcl SecurityContextHolder.getContext().getAuthentication() gets the anonymousUser as a principal
acl = mutableAclService.createAcl(oi);
}
// Now grant some permissions via an access control entry (ACE)
acl.insertAce(acl.getEntries().size(), p, sid, true);
mutableAclService.updateAcl(acl);
}
但当我检查的时候 acl_object_identity
table owner_sid
物体的形状总是 anonymousUser
.
暂无答案!
目前还没有任何答案,快来回答吧!