Re: Multiple server, single authentication

Maël Villat <[email protected]>
Newsgroups gmane.comp.jakarta.slide.user
Message-ID <000e01c6c926$dddd35c0$0100a8c0@NEWMAEL>
Hello!

The contentstore it's where you put the files. By default it's on the file 
system so I believe that you don't need to change it or maybe just the 
directory.

The security store is where you put the rights but not the users and 
passwords. By default that's on the file system in the metadata directory, 
so you don't need to change it. That's the place where you tell that the 
role "student" is allowed to write on the directory "student" for example.

The only things that you have to change is the "nodestore", it's where you 
want to define your users and roles.
Here is the nodestore for a LDAP store (users):
<store name="users">

<nodestore classname="org.apache.slide.store.txjndi.JNDIPrincipalStore">

<parameter name="jndi.container">OU=people,DC=esnig,DC=ch</parameter>

<parameter name="jndi.attributes.rdn">uid</parameter>

<parameter name="jndi.search.filter">(objectClass=*)</parameter>

<parameter name="jndi.search.scope">ONELEVEL_SCOPE</parameter>

<parameter name="jndi.search.attributes">uid,cn</parameter>

<parameter name="cache.refresh.checkrate">15</parameter>

<parameter name="cache.refresh.rate">20</parameter>

<parameter name="cache.refresh.threshold">2500</parameter>

<parameter name="java.naming.provider.url">ldap://localhost:389</parameter>

<parameter 
name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</parameter>

<parameter name="java.naming.security.principal"></parameter>

<parameter name="java.naming.security.authentication">simple</parameter>

<parameter name="java.naming.security.credentials"></parameter>

</nodestore>

<securitystore 
classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">

<parameter name="rootpath">users/store/metadata</parameter>

<parameter name="workpath">users/work/metadata</parameter>

</securitystore>

<lockstore>

<reference store="securitystore"/>

</lockstore>

<revisiondescriptorsstore>

<reference store="nodestore"/>

</revisiondescriptorsstore>

<revisiondescriptorstore>

<reference store="nodestore"/>

</revisiondescriptorstore>

<contentstore>

<reference store="nodestore"/>

</contentstore>

</store>


Here is another example for a LDAP store (role):
<store name="roles">

<nodestore classname="org.apache.slide.store.txjndi.JNDIPrincipalStore">

<parameter name="jndi.container">OU=groups,DC=esnig,DC=ch</parameter>

<parameter name="jndi.attributes.rdn">cn</parameter>

<parameter name="jndi.attributes.groupmemberset">member</parameter>

<parameter name="jndi.search.filter">(objectClass=groupOfNames)</parameter>

<parameter name="jndi.search.scope">ONELEVEL_SCOPE</parameter>

<parameter name="jndi.search.attributes">cn</parameter>

<parameter name="cache.refresh.checkrate">15</parameter>

<parameter name="cache.refresh.rate">20</parameter>

<parameter name="cache.refresh.threshold">2500</parameter>

<parameter name="java.naming.provider.url">ldap://localhost:389</parameter>

<parameter 
name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</parameter>

<parameter name="java.naming.security.principal"></parameter>

<parameter name="java.naming.security.authentication">simple</parameter>

<parameter name="java.naming.security.credentials"></parameter>

</nodestore>

<securitystore 
classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">

<parameter name="rootpath">roles/store/metadata</parameter>

<parameter name="workpath">roles/work/metadata</parameter>

</securitystore>

<lockstore>

<reference store="securitystore"/>

</lockstore>

<revisiondescriptorsstore>

<reference store="nodestore"/>

</revisiondescriptorsstore>

<revisiondescriptorstore>

<reference store="nodestore"/>

</revisiondescriptorstore>

<contentstore>

<reference store="nodestore"/>

</contentstore>

</store>



In the end, you have to make a link between the uri (for example 
/roles/student) and the store that contains the roles (called "roles in my 
example):
<scope match="/roles" store="roles"/>

And for the users too:

<scope match="/users" store="users"/>


I don't have any examples for MySQL but the only things that will change I 
think are the parameters of the nodestore.

Dont' forget that Tomcat (if you use this server) needs a new realm too, 
based on MySQL, by default it uses the file tomcat-users.xml or the files in 
the directories /users /roles.



I hope it helps.. good luck!



----- Original Message ----- 
From: "rohitajm" <[email protected]>
To: <[email protected]>
Sent: Saturday, August 26, 2006 2:46 PM
Subject: Multiple server, single authentication


>
> Hello All,
>
> Can anyone tell me the role of different-different Stores used in
> 'domain.xml'. These stores are: nodestore, securitystore, lockstore,
> revisiondescriptorstore, revisiondescriptorsstore and contentstore.
>
> I want to design a system in which there are multiple slide server, but 
> only
> one authentication system.
>
> For this I want to store user information (related to authentication) in
> MySqlStore and content on File system. To implement this I configured
> 'domain.xml' and redirected 'securitystore' to MySqlStore and all other
> store to filesystem (Tx...Store).
>
> Through this only permission are redirected in MySql database. So I want 
> to
> know what informations are controlled by 'securitystore'.
>
> Thanks
>
> -rohit
> -- 
> View this message in context: 
> http://www.nabble.com/Multiple-server%2C-single-authentication-tf2169172.html#a5997490
> Sent from the Jakarta Slide - User forum at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.