- // protected synchronized void setSecurityHomeAuthorizations(User user) {
- // // give read privileges on user security home
- // String userId = "<not yet set>";
- // try {
- // userId = user.getID();
- // Node userHome = SecurityJcrUtils.getUserHome(getSystemSession(), userId);
- // if (userHome == null)
- // throw new ArgeoException("No security home available for user "
- // + userId);
- //
- // String path = userHome.getPath();
- // Principal principal = user.getPrincipal();
- //
- // JackrabbitAccessControlManager acm = (JackrabbitAccessControlManager)
- // getSystemSession()
- // .getAccessControlManager();
- // JackrabbitAccessControlPolicy[] ps = acm
- // .getApplicablePolicies(principal);
- // if (ps.length == 0) {
- // // log.warn("No ACL found for " + user);
- // return;
- // }
- //
- // JackrabbitAccessControlList list = (JackrabbitAccessControlList) ps[0];
- //
- // // add entry
- // Privilege[] privileges = new Privilege[] { acm
- // .privilegeFromName(Privilege.JCR_READ) };
- // Map<String, Value> restrictions = new HashMap<String, Value>();
- // ValueFactory vf = getSystemSession().getValueFactory();
- // restrictions.put("rep:nodePath",
- // vf.createValue(path, PropertyType.PATH));
- // restrictions.put("rep:glob", vf.createValue("*"));
- // list.addEntry(principal, privileges, true /* allow or deny */,
- // restrictions);
- // } catch (Exception e) {
- // e.printStackTrace();
- // throw new ArgeoException(
- // "Cannot set authorization on security home for " + userId
- // + ": " + e.getMessage());
- // }
- //
- // }
-