Hi:

    I kown this ,I used to realize it with the method , and in order to realize 
it ,

I have to create a project  only for runing a jackrabbit server with my needed 
repository.xml,

However I want to use sling's jackrabbit server ,and now sling's repository.xml 
is not support  

user  so well  for  user manage . As a result , I want to get a way ,use 
sling's jackrabbit 

server and can realize user  management .

2009-01-09 



yanshaozhiGmail 



发件人: Rory Douglas 
发送时间: 2009-01-09  01:01:51 
收件人: sling-dev 
抄送: 
主题: Re: Since sling is support ing for jackrabbit 1.5 why doesn't 
providehttpapi for user manager? 
 
Actually, if you need to, it's simple to access the "security" workspace 
(if you have the admin credentials):
<%
    Session jcrSession = currentNode.getSession();
    SimpleCredentials creds = new 
SimpleCredentials("admin","admin".toCharArray());
    Session secSession = jcrSession.getRepository().login(creds,"security");
   
    Query secQuery = 
secSession.getWorkspace().getQueryManager().createQuery("//element(*,rep:User)","xpath");
    QueryResult secResult = secQuery.execute();
%>
That should list all users configured in the repository (as a result of 
UserManager.createUser() calls, and the admin/anonymous profiles).
yanshaozhiGmail wrote:
> HI:
>
>    thanks very much for telling me so much , I have another question , 
>
> if I want to user the user manager in sling, Do I have to change the 
>
> sling code (sling repository:  repository.xml replace the SimpleAccessManager 
>
> to DefultAccessManager  and other interface.)
>
>
> 2009-01-08 
>
>
>
> yanshaozhiGmail 
>
>
>
> 发件人: Rory Douglas 
> 发送时间: 2009-01-08  23:41:11 
> 收件人: sling-dev 
> 抄送: 
> 主题: Re: Since sling is support ing for jackrabbit 1.5 why doesn't providehttp 
> api for user manager? 
>  
> You need to do two things to get access to 
> UserManager/PrincipalManager.  First, you should remove the 
> org.apache.sling.jcr.jackrabbit.api bundle.  Then download the 
> Jackrabbit 1.5 API bundle & install that instead (it's OSGI-ified).  
> That will export the releveant JSR283 packages.
> Then you should  be able to do the following (in a JSP or anywhere you 
> have a Session):
> UserManager userManager = null;
> if(session instanceof PooledJackrabbitSession) {
>     userManager = ((PooledJackrabbitSession)session).getUserManager();
> } else {
>     // use reflection since Jackrabbit.core package not exported
>     Method m = session.getClass().getMethod("getUserManager");
>     userManager = (UserManager)m.invoke(session);
> }
> This same pattern works for PrincipalManager which is exposed on the 
> JackrabbitSession.  If you want the AccessControlManager (to set ACLs), 
> you'll need to use the reflection approach only for now.  You don't need 
> to actually access the "security" workspace in order to create & manager 
> users (although there's no good way to list all users right now, so 
> accessing the workspace probably would give you that ability).
> I've created a utility class that wraps up all this messy code - I'll 
> open an issue & submit the patch now.
> Regards,
> Rory
> yanshaozhiGmail wrote:
>   
>> HI:
>>
>>    As I know , now sling is support for jackrabbit 1.5 , it will 
>>
>> more powerfull if sling can provide api for user manager .
>>
>>    And is there any way to implement user manage with sling 
>>
>> if I implement it myself ? how can I get ""security" workspace?
>>
>> It's seems that there isn't "security" workspace in sling's 
>>
>> jackrabbit repository.
>>
>>
>> 2009-01-08 
>>
>>
>>
>> yanjie 
>>
>>   
>>     
-- 
Rory Douglas | Senior Principal Consultant
Fax: +1-201-604-6428 | Mobile: +1-917-498-5344
Oracle North America Consulting
ORACLE United States | | San Diego, CA
"Please consider your environmental responsibility before printing this 
e-mail"

Reply via email to