X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.core%2Fsrc%2Forg%2Fargeo%2Fapp%2Fcore%2FSuiteUtils.java;h=6b63cdb4d30115e21db16267eb1afd2c5b191cbe;hb=fabd973af0f3a08b55640a152526eaeba177b128;hp=2b211423a145200eef6b67ad3969cfa58bb6081a;hpb=99a029d144e7aab7f8b5a9ac3a2c4383cae4a6f5;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.core/src/org/argeo/app/core/SuiteUtils.java b/org.argeo.app.core/src/org/argeo/app/core/SuiteUtils.java index 2b21142..6b63cdb 100644 --- a/org.argeo.app.core/src/org/argeo/app/core/SuiteUtils.java +++ b/org.argeo.app.core/src/org/argeo/app/core/SuiteUtils.java @@ -1,7 +1,5 @@ package org.argeo.app.core; -import static org.argeo.cms.acr.ContentUtils.SLASH; - import java.util.HashSet; import java.util.Set; @@ -10,44 +8,29 @@ import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; import javax.jcr.security.Privilege; -import javax.naming.ldap.LdapName; import javax.security.auth.x500.X500Principal; -import org.argeo.api.acr.Content; -import org.argeo.api.acr.ContentSession; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsSession; import org.argeo.app.api.EntityType; -import org.argeo.app.api.SuiteRole; -import org.argeo.cms.CmsUserManager; -import org.argeo.cms.acr.CmsContentRepository; -import org.argeo.jackrabbit.security.JackrabbitSecurityUtils; +import org.argeo.cms.auth.RoleNameUtils; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; -import org.argeo.osgi.useradmin.UserDirectory; import org.argeo.util.naming.LdapAttrs; -import org.osgi.service.useradmin.Role; /** Utilities around the Argeo Suite APIs. */ public class SuiteUtils { - public static Content roleToContent(CmsUserManager userManager, ContentSession contentSession, Role role) { - UserDirectory userDirectory = userManager.getDirectory(role); - String path = CmsContentRepository.DIRECTORY_BASE + SLASH + userDirectory.getName() + SLASH - + userDirectory.getRolePath(role); - Content content = contentSession.get(path); - return content; - } - @Deprecated - public static String getUserNodePath(LdapName userDn) { - String uid = userDn.getRdn(userDn.size() - 1).getValue().toString(); + public static String getUserNodePath(String userDn) { + String uid = RoleNameUtils.getLastRdnValue(userDn); return EntityType.user.basePath() + '/' + uid; } - private static Node getOrCreateUserNode(Session adminSession, LdapName userDn) { + @Deprecated + private static Node getOrCreateUserNode(Session adminSession, String userDn) { try { Node usersBase = adminSession.getNode(EntityType.user.basePath()); - String uid = userDn.getRdn(userDn.size() - 1).getValue().toString(); + String uid = RoleNameUtils.getLastRdnValue(userDn); Node userNode; if (!usersBase.hasNode(uid)) { userNode = usersBase.addNode(uid, NodeType.NT_UNSTRUCTURED); @@ -56,8 +39,8 @@ public class SuiteUtils { 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); +// 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, @@ -83,7 +66,7 @@ public class SuiteUtils { @Deprecated public static Node getOrCreateCmsSessionNode(Session adminSession, CmsSession cmsSession) { try { - LdapName userDn = cmsSession.getUserDn(); + String userDn = cmsSession.getUserDn(); // String uid = userDn.get(userDn.size() - 1); Node userNode = getOrCreateUserNode(adminSession, userDn); // if (!usersBase.hasNode(uid)) {