>> > Vidar is right. In Jackrabbit 1 users used to be stored in the security
>> > workspace. In Jackrabbit 2 this has been made a bit more pluggable, but
>> > IIRC users are still stored in the security workspace.
>> >
>> > IIRC the session to access the security workspace is encapsulated in the
>> > UserManager.

I can't see that. The UserManager is retrieved from the session
established in the CreateUserServlet and
operates on that. There doesn't seem to be a call to a security workspace.

However I find that the users are actually stored in a
/rep:system/rep:userManager path which is mapped to
/system/userManager.
However I don't get any results either when I listen to this path.

>>
>> Regardless of where users are actually stored by Jackrabbit, perhaps
>> it would make sense to have CreateUserServlet fire an OSGi event (like
>> org/apache/sling/api/resource/Resource/ADDED) when adding a user?
>> The same would obviously apply to the other servlets under
>> o.a.s.jackrabbit.usermanager.impl.post.
>
> Definitely, I agree, that JCR level events are probably not appropriate
> for handling User Management situations because it is the very goal of
> the user manager to abstract and hide the actual location of the users.
>

I liked the idea of using JCR events because it unifies the event handling.
And in addition I am more interested in property changes (who has
added a user when to which group)
then the pure node creations. Something that is covered already by the
JCR events.

> But then: Not all user management actions go through the servlets and
> hence the events would be incomplete. I think the UserManager itself
> should actually fire events...

Isn't the userManager part of Jackrabbit? Which kind of events will it
then fire?


Regards,
 Markus

>> > Am Donnerstag, den 27.01.2011, 19:05 +0000 schrieb Vidar Ramdal:
>> >> >> On Thu, Jan 27, 2011 at 9:56 AM, Markus Joschko
>> >> >> <[email protected]> wrote:
>> >> >>> I try to implement an audit mechanism and part of it is to track the
>> >> >>> changes that happen in the user and group sections.
>> >> >>> However when I use the REST interface of the usermanager, I don't
>> >> >>> receive any events when a user is added below /system/userManager/user
>> >> >>>
>> >> >>> When I add a node there "by hand" I get the notifications
>> >> >>>
>> >> >>> Any obvious reason for that?
>> >>
>> >> > On Thu, Jan 27, 2011 at 10:06 AM, Vidar Ramdal <[email protected]> wrote:
>> >> >> Just guessing, but I think the user nodes are added to the 'security'
>> >> >> workspace, but the event listeners are only listening to events from
>> >> >> the 'default' workspace.
>> >> >>
>> >> >> You could try registering a JCR event listener for the security
>> >> >> workspace by repository.login([credentials],
>> >> >> "security").getObservationManager().addEventListener(...);
>> >>
>> >> On Thu, Jan 27, 2011 at 4:59 PM, Markus Joschko
>> >> <[email protected]> wrote:
>> >> > Hi Vidar,
>> >> > that also doesn't work.
>> >> > Checking the CreateUserServlet I see that it is using the default 
>> >> > workspace.
>> >>
>> >> Hmm, yes, the CreateUserServlet uses a session for the default
>> >> workspace to get the UserManager, which in turn is used to create the
>> >> user.
>> >> But I'm pretty sure that Jackrabbit internally stores users in the
>> >> security workspace.
>> >>
>> >> Maybe you could post the code of your EventListener, and of
>> >> ObservationManager.addEventListener call?
>> >>
>> >>
>> >
>> >
>> >
>>
>>
>>
>
>
>

Reply via email to