Add the following to your AppModule:
public static void
contributeAliasOverrides(Configuration<AliasContribution<?>> configuration)
{
SaltSourceService saltSource = new SaltSourceService() {
public Object getSalt(UserDetails user) {
return null;
}
};
configuration.add(AliasContribution.create(SaltSourceService.class,
saltSource));
}
Uli
bongosdude schrieb:
Hi,
I am using PlainText password encoder now to test before I can change logic
to provision UserDetails with MD5 or SHA encoded password. The problems are:
1. org.springframework.security append saltsource to plain text password if
saltsource is not null or emtpy. If my password is 123456 and my saltsource
is "clear" than it compares the password from DB with 123456{clear}.
2. If I do not set saltsource or set it to empty, Tapestry-spring-security
throws the below exception. I believe, Tapestry-spring-security assumes that
password encoder is not plain text.
(nu.localhost.tapestry5.springsecurity.services.SecurityModule.buildSaltSource(String))
Caused by: org.apache.tapestry5.ioc.internal.OperationException: Error
invoking service builder method
nu.localhost.tapestry5.springsecurity.services.SecurityModule.buildSaltSource(String)
(at SecurityModule.java:121) (for service 'SaltSource'): A systemWideSalt
must be set
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:70)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
at
org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
at
org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52)
at
org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:56)
at
org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
at
org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
at
org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65)
... 42 more
Caused by: java.lang.RuntimeException: Error invoking service builder method
nu.localhost.tapestry5.springsecurity.services.SecurityModule.buildSaltSource(String)
(at SecurityModule.java:121) (for service 'SaltSource'): A systemWideSalt
must be set
at
org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:87)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
at
org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48)
... 58 more
Caused by: java.lang.IllegalArgumentException: A systemWideSalt must be set
at
org.springframework.security.providers.dao.salt.SystemWideSaltSource.afterPropertiesSet(SystemWideSaltSource.java:42)
at
nu.localhost.tapestry5.springsecurity.services.SecurityModule.buildSaltSource(SecurityModule.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:75)
-----
B Amigo:super:
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org