[ 
https://issues.apache.org/jira/browse/JCR-3802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14090816#comment-14090816
 ] 

angela commented on JCR-3802:
-----------------------------

Thanks for the comments:

Jackrabbit (and JCR in general) actually doesn't have real use-cases for user 
management API. That's just a nice to have feature for the built-in 
authentication setup... which could perfectly be omitted. As far as the 
system/service users are concerned I realized that we will run into some 
oddities if we can't distinguish between a regular user account and users that 
are intended take care of system administration tasks as they are defined by 
the new service user concept in Sling; e.g. the the CUG feature i started 
prototyping in Oak or the concept of AuthorizableAction... obviously that could 
be worked around with some sort of path or an additional mixin type marking a 
specific user as system user...  but it fees a bit clumpsy to me if i have to 
rely on the user account being stored in the repo with a given structure.

{quote}
SystemUserImpl.checkValidTree checks for type AuthorizableType.USER to check 
whether the tree is of the correct type. Is that correct or should that be 
AuthorizableType.SYSTEM_USER ?
{quote}

i thought about introducing a separate type for the system users... but as long 
as it's just a flag on the regular User interface, i didn't see too much value 
in creating a separate type.

{quote}
UserValidator prohibits disabling system users. What is the reason ? I would 
think we should be able to disable these users just as any other users for some 
quick stop-gap security measures.
{quote}

Probably you are right... there is compelling reason for not allowing for 
User.disable(String)

{quote}
UserUtil.isSystemUser is missing from the POC patch
{quote}

ok... found more bugs in the mean time :-)

{quote}
UserManagerImpl adds use of com.google.common.base.Strings[.isNullOrEmpty]. Is 
that by intent or should this rather be org.apache.lang.StringUtil ?
{quote}

we use the google library throughout oak... not particular reason otherwise.


> User Management: API for System Users
> -------------------------------------
>
>                 Key: JCR-3802
>                 URL: https://issues.apache.org/jira/browse/JCR-3802
>             Project: Jackrabbit Content Repository
>          Issue Type: New Feature
>          Components: jackrabbit-api
>            Reporter: angela
>         Attachments: JCR-3802___POC_implementation_for_Oak.patch, 
> JCR-3802_proposed_API.patch
>
>
> Apache Sling recently added the ability to define dedicated service users 
> that allows to replace the troublesome 
> {{SlingRepository.loginAdministrative}} with {{SlingRepository.loginService}}.
> In a default Sling repository backed by a Jackrabbit/Oak content repository 
> this results in user accounts being created for these service users.
> Since these service users are never expected to represent a real subject that 
> has a userId/password pair or profile information editable by this very 
> subject, I figured out that it may be useful to cover these service users 
> with the following API extensions, which would allow us to identify if a 
> given user account is in fact a service (or system) user. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to