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