Oups, sorry i had made a mistake when trying this way. I actually worked.
public static void contributeServiceOverride(
MappedConfiguration<Class, Object> configuration) {
configuration.add(SaltSourceService.class, new SaltSourceService()
{
public Object getSalt(UserDetails user) {
return "";
}
});
}
public static void contributeAlias(
Configuration<AliasContribution<?>> configuration) {
configuration.add(AliasContribution.create(PasswordEncoder.class,
new Md5PasswordEncoder()));
}
Sorry for the noise, and thanks for the help.
On Thu, 06 May 2010 17:39:01 +0200, Nicolas Bouillon <[email protected]>
wrote:
> Unfortunately, it doesn't work.
>
> On Thu, 06 May 2010 13:21:18 +0200, Michael Gerzabek
> <[email protected]> wrote:
>> I'm not 100% sure here but think you have to override the SSS. In your
>> AppModule write something like
>>
>> public static void
>> contributeServiceOverride(MappedConfiguration<Class,Object>
> configuration)
>> {
>> configuration.add(SaltSourceService.class, new new
> SaltSourceService()
>> {
>> public Object getSalt(UserDetails user) {
>> return "";
>> }
>> });
>> }
>>
>> Have a look at:
>>
>
http://tapestry.apache.org/tapestry5.1/tapestry-ioc/cookbook/override.html
>> /M
>>
>> Am 06/05/2010 11:02, schrieb Nicolas Bouillon:
>>> Hi,
>>>
>>> I got a problem using tapestry-spring-security (
>>> http://www.localhost.nu/java/tapestry-spring-security/ )
>>>
>>> I have to override the SaltSourceService because my password database
>>> doesn't use any Salt.
>>>
>>> I have added this code to my AppModule :
>>>
>>> public static void contributeAlias(
>>> Configuration<AliasContribution<?>> configuration) {
>>>
> configuration.add(AliasContribution.create(PasswordEncoder.class,
>>> new Md5PasswordEncoder()));
>>>
> configuration.add(AliasContribution.create(SaltSourceService.class,
>>> new SaltSourceService() {
>>> public Object getSalt(UserDetails user) {
>>> return "";
>>> }
>>> }));
>>> }
>>>
>>>
>>> The SaltSourceService seems to be set this way in the SecurityModule
>>> class
>>> from tapestry-spring-security :
>>>
>>> public static void contributeAlias(
>>> @SpringSecurityServices SaltSourceService saltSource,
>>> @SpringSecurityServices
>>> UsernamePasswordAuthenticationProcessingFilter
>>> authenticationProcessingFilter,
>>> Configuration<AliasContribution<?>> configuration ) {
>>>
>>> configuration.add( AliasContribution.create(
>>> SaltSourceService.class, saltSource ) );
>>> configuration.add( AliasContribution.create(
>>> UsernamePasswordAuthenticationProcessingFilter.class,
>>> authenticationProcessingFilter ) );
>>> }
>>>
>>> @Marker( SpringSecurityServices.class )
>>> public static SaltSourceService buildSaltSource(
>>> @Inject @Value( "${spring-security.password.salt}" ) final
>>> String salt ) throws Exception {
>>>
>>> SaltSourceImpl saltSource = new SaltSourceImpl();
>>> saltSource.setSystemWideSalt( salt );
>>> saltSource.afterPropertiesSet();
>>> return saltSource;
>>> }
>>>
>>>
>>> The problem is, from one run to another, the initialisation order is
>>> maybe
>>> different, and then my SaltSourceService is not used because my
> AppModule
>>> alias conflics withe the existing one :
>>>
>>> org.apache.tapestry5.services.TapestryModule.Alias - Contribution
>>> tapestry.services.appmodul...@fb0c124 (for type
>>> nu.localhost.tapestry5.springsecurity.services.SaltSourceService)
>>> conflicts
>>> with existing contribution<Proxy for
>>>
>
SaltSource(nu.localhost.tapestry5.springsecurity.services.SaltSourceService)>
>>> and has been ignored.
>>>
>>> But if i stop and run again, it may work because my alias is maybuild
>>> built
>>> first :
>>>
>>> org.apache.tapestry5.services.TapestryModule.Alias - Contribution<Proxy
>>> for
>>>
>
SaltSource(nu.localhost.tapestry5.springsecurity.services.SaltSourceService)>
>>> (for type
>>> nu.localhost.tapestry5.springsecurity.services.SaltSourceService)
>>> conflicts with existing contribution
>>> tapestry.services.appmodul...@7333fb54
>>> and has been ignored.
>>>
>>> Is there any possiblity to force Tapestry to use my version of the
>>> service
>>> ?
>>>
>>> Thanks.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]