You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Running.adoc
-17Lines changed: 0 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -180,20 +180,3 @@ Invalid:
180
180
]
181
181
}
182
182
```
183
-
184
-
=== Syncing Users and Groups
185
-
186
-
Grabbit has support for syncing users and groups. One *important note* about syncing users is that you must take care to avoid syncing the _admin user_.
187
-
Jackrabbit will not allow modification of the admin user, so Grabbit will fail on a job that attempts to do so. You can find the path of your admin user
188
-
on your data-warehouse instance or other source instance; and add it as an exclude path as so:
log.debug "${ValidJobDecider.class.canonicalName} Job determined to be valid for job path ${jobPath}"
60
+
returnJOB_VALID
75
61
}
76
-
catch(RepositoryException repoException) {
77
-
log.error "${RepositoryException.class.canonicalName} Something went wrong when accessing the repository at ${this.class.canonicalName} for job path ${jobPath}!"
78
-
log.error repoException.toString()
62
+
else {
63
+
log.warn "${jobPath} is not a valid job path. Make sure a parent is synched or created before this job is run"
79
64
returnJOB_INVALID
80
65
}
81
-
log.debug "${ValidJobDecider.class.canonicalName} Job determined to be valid for job path ${jobPath}"
Principal principal = getPrincipal(session, principalName)
107
107
if(principal ==null) {
108
-
log.warn "Principal for name ${principalName} does not exist, or is not accessible. Can not write ACE/ACL information."
108
+
log.warn "Principal for name ${principalName} does not exist, or is not accessible. Can not write ACE/ACL information for this principal on ${getParentPath()}. If this principal is currently being synched, it may not be accessible."
* This class wraps a serialized node that represents an Authorizable. Authorizables are special system protected nodes, that can only be written under certain
41
39
* trees, and can not be written directly by a client.
@@ -57,10 +55,14 @@ class AuthorizableProtoNodeDecorator extends ProtoNodeDecorator {
57
55
thrownewInsufficientGrabbitPrivilegeException("JVM Permissions needed by Grabbit to sync Users/Groups were not found. See log for specific permissions needed, and add these to your security manager; or do not sync users and groups."+
58
56
"Unfortunately, the way Jackrabbit goes about certain things requires us to do a bit of hacking in order to sync Authorizables securely, and efficiently.")
* Authorizable pieces (nodes that live under Authorizables - profile, preferences, etc) get sent with the authorizable node instead of streamed independently because we do not know the client's new
111
-
* authorizable UUID node name at runtime. In other words, authorizables can live under different node names from server to server
* Some JVM's have a SecurityManager set, which based on configuration, can potentially inhibit our hack {@code setPasswordForUser(User, Session)} from working.
140
153
* We need to check security permissions before proceeding
@@ -245,13 +258,4 @@ class AuthorizableProtoNodeDecorator extends ProtoNodeDecorator {
0 commit comments