- @Deprecated
- private static Node getOrCreateUserNode(Session adminSession, String userDn) {
- try {
- Node usersBase = adminSession.getNode(EntityType.user.basePath());
- String uid = RoleNameUtils.getLastRdnValue(userDn);
- Node userNode;
- if (!usersBase.hasNode(uid)) {
- userNode = usersBase.addNode(uid, NodeType.NT_UNSTRUCTURED);
- userNode.addMixin(EntityType.user.get());
- userNode.addMixin(NodeType.MIX_CREATED);
- userNode.setProperty(LdapAttrs.distinguishedName.property(), userDn.toString());
- userNode.setProperty(LdapAttrs.uid.property(), uid);
- adminSession.save();
-// JackrabbitSecurityUtils.denyPrivilege(adminSession, userNode.getPath(), SuiteRole.coworker.dn(),
-// Privilege.JCR_READ);
- JcrUtils.addPrivilege(adminSession, userNode.getPath(), new X500Principal(userDn.toString()).getName(),
- Privilege.JCR_READ);
- JcrUtils.addPrivilege(adminSession, userNode.getPath(), CmsConstants.ROLE_USER_ADMIN,
- Privilege.JCR_ALL);
- } else {
- userNode = usersBase.getNode(uid);
- }
- return userNode;
- } catch (RepositoryException e) {
- throw new JcrException("Cannot create user node for " + userDn, e);
- }
- }
-
- @Deprecated
- public static Node getCmsSessionNode(Session session, CmsSession cmsSession) {
- try {
- return session.getNode(getUserNodePath(cmsSession.getUserDn()) + '/' + cmsSession.getUuid().toString());
- } catch (RepositoryException e) {
- throw new JcrException("Cannot get session dir for " + cmsSession, e);
- }
- }
-
- @Deprecated
- public static Node getOrCreateCmsSessionNode(Session adminSession, CmsSession cmsSession) {
- try {
- String userDn = cmsSession.getUserDn();
-// String uid = userDn.get(userDn.size() - 1);
- Node userNode = getOrCreateUserNode(adminSession, userDn);
-// if (!usersBase.hasNode(uid)) {
-// userNode = usersBase.addNode(uid, NodeType.NT_UNSTRUCTURED);
-// userNode.addMixin(EntityType.user.get());
-// userNode.addMixin(NodeType.MIX_CREATED);
-// usersBase.setProperty(LdapAttrs.uid.property(), uid);
-// usersBase.setProperty(LdapAttrs.distinguishedName.property(), userDn.toString());
-// adminSession.save();
-// } else {
-// userNode = usersBase.getNode(uid);
-// }
- String cmsSessionUuid = cmsSession.getUuid().toString();
- Node cmsSessionNode;
- if (!userNode.hasNode(cmsSessionUuid)) {
- cmsSessionNode = userNode.addNode(cmsSessionUuid, NodeType.NT_UNSTRUCTURED);
- cmsSessionNode.addMixin(NodeType.MIX_CREATED);
- adminSession.save();
- JcrUtils.addPrivilege(adminSession, cmsSessionNode.getPath(), cmsSession.getUserRole(),
- Privilege.JCR_ALL);
- } else {
- cmsSessionNode = userNode.getNode(cmsSessionUuid);
- }
- return cmsSessionNode;
- } catch (RepositoryException e) {
- throw new JcrException("Cannot create session dir for " + cmsSession, e);
- }
- }
-