Hi Geert,

actually I have already implemented the comma separated roles ;). But I 
thought I have missed something in the docs as usual.

I think it is OK to say that roles should not contain a comma. The 
easiest solution would be to add a property named roles where a comma 
separated list of roles can be entered. This should solve 98% of the needs.

I don't like separators too and the cleanest way I think is something like:

        <element id="AuthClient" extends="rife/authenticated/memory.xml">
            <property name="password_encryption">SHA</property>
             <roles>
                   <role name="Admin"/>
                   <role name="Client"/>
             </roles>
            <property name="authvar_type">cookie</property>
            <property name="template_name">authentication.admin</property>
            <submission name="credentials">
                <param name="login"/>
                <param name="password"/>
            </submission>
           
            <childtrigger name="authid"/>
        </element>  

But is it really a restriction to disallow role names with commas ?

Ciao
    Matthias


Geert Bevin schrieb:
> Hi Matthias,
>
> properties are key-value pairs, so if you set it multiple times, the  
> last one will replace the earlier one. However, I'm surprised that I  
> never ran into this multiple role problem before. Now that I think of  
> it, I always had clearly defined sections of the sites I developed  
> where when authentication was used, there was always one role that  
> corresponded. When several roles applied, I always had information to  
> show to everyone, and I used the user identification facility 
> (http://rifers.org/wiki/display/RIFE/User+identification+facility 
> ).
>
> Now, you should be able to quite easily support multiple roles for  
> authentication elements since you already have a custom  
> CredentialsManager. You could for instance separate different roles  
> with commas and then adapt your verifyCredentials(Credentials) method  
> to properly handle the separation of the roles.
>
> I'd like to support this by default in RIFE though since it seems like  
> a shameful oversight. Have to think about how to best do this in a  
> backwards compatible way (you never know if someone uses commas in his  
> role names!).
>
> Hope this helps,
>
> Geert
>
>
> On 22 May 2008, at 11:34, Matthias Barmeier wrote:
>
>   
>> Hi,
>>
>> My CredentialsManager works perfect evrything looked good but now I am
>> stuck again. I have an Element that can be used from admins and  
>> users. I
>> defined this with:
>>
>>        <element id="AuthClient" extends="rife/authenticated/ 
>> memory.xml">
>>            <property name="password_encryption">SHA</property>
>>            <property name="role">Client</property>
>>            <property name="role">Admin</property>
>>            <property name="authvar_type">cookie</property>
>>            <property name="template_name">authentication.admin</ 
>> property>
>>            <property
>> name 
>> = 
>> "credentialsmanagerfactory_class 
>> ">de.sourcepark.ms2.rife.MS2CredentialsManagerFactory</property>
>>            <submission name="credentials">
>>                <param name="login"/>
>>                <param name="password"/>
>>            </submission>
>>
>>            <childtrigger name="authid"/>
>>        </element>
>>
>> and
>>
>>            <element id="CustomerChangePw"
>>
>> implementation="de.sourcepark.ms2.rife.customer.EditCustomerPw"
>>                     url="/customerchangepw" inherits="AuthClient">
>>                <inbean name="customer" prefix="pre_"
>>
>> classname="de.sourcepark.ms2.rife.customer.CBCustomerPwEdit"/>
>>                <autolink srcexit="CustomerList"/>
>>            </element>
>>
>> Everything works fine when I login with accounts that have the admin
>> rolle assigned to. When I try to login as normal user I always get an
>> invalid credentials error.
>>
>> When debugging my CredentialsManager I checked the credentials I get  
>> as
>> parameter in the verifyCredentials method the credentials with  
>> password
>> and username as expected but the role is always set to Admin. When I
>> remove the Admin role form the AuthClient element the role is always  
>> set
>> to Client. Shouldn' t the credentials given containing all the roles
>> allowed for the element ?
>>
>> Where is my fault ?
>>     
>
> --
> Geert Bevin
> Terracotta - http://www.terracotta.org
> Uwyn "Use what you need" - http://uwyn.com
> RIFE Java application framework - http://rifers.org
> Music and words - http://gbevin.com
>
>
> >
>   

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"rife-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rife-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to