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 -~----------~----~----~----~------~----~------~--~---
