对新用户的访问控制

Access control to the new user

  1. 创建用户

我们可以使用 userManager.createUser

成功创建用户
  1. 用户对 absPath 的访问权限

用新创建的用户创建了新会话。

String[] privileges = new String[]{PrivilegeConstants.JCR_ALL};
AccessControlUtils.addAccessControlEntry(newSession, absPath, new PrincipalImpl(user.getUsername()),
                        privileges, true);

原因:javax.jcr.PathNotFoundException:/advitium/repo 处没有树 在 org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AbstractAccessControlManager.getTree(AbstractAccessControlManager.java:164) 在 org.apache.jackrabbit.oak.security.authorization.accesscontrol.AccessControlManagerImpl.getApplicablePolicies(AccessControlManagerImpl.java:195)

而可以使用管理会话访问相同的路径。

问题:我们如何为新用户提供对节点的访问。

我们必须使用管理员会话为新创建的主体分配权限。