As the name says, the sample application does declare the
UserDetailsService. Look at
nu.localhost.tapestry5.springsecuritytest.services.TestsecurityModule
there you'll find the build method
public static UserDetailsService buildUserDetailsService( @Inject
PasswordEncoder encoder, @Inject
SaltSource salt ) {
return new MyUserDetailsService( encoder, salt );
}
This module is in fact using the SpringSecurityModule like you'll
probably do.
manuel aldana schrieb:
Thiago H. de Paula Figueiredo schrieb:
Em Sun, 08 Mar 2009 18:09:29 -0300, manuel aldana <ald...@gmx.de>
escreveu:
Exception constructing service 'RememberMeServices': Error invoking
service builder method
nu.localhost.tapestry5.springsecurity.services.SecurityModule.build(UserDetailsService,
String) (at SecurityModule.java:303) (for service
'RememberMeServices'): No service implements the interface
org.springframework.security.userdetails.UserDetailsService.
It does not find the UserDetailsService implementation though I
placed one inside <rootPackage>.services.internal. Does somebody
know how tapestry spring-security plugin looks for the implementation?
It looks it up via Tapestry-IoC. Actually, this error messages is
given by T-IoC, not Tapestry-Spring Security yourself. Just make sure
you declare your UserDetailsService implementation as a service in
your AppModule class (or any other Tapestry-IoC module).
Yes, you're right adding this interface->implementation mapping to
AppModule made it work.
But I wonder why it works in the sample application from the
tapestry-spring-security module, which has no AppModule defined. I
guess then some tapestry magic comes in place (maybe scanning for
implementors of interfaces...).
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org