Wer einen User nach einer Registrierung direkt automatisch einloggen oder eingeloggt haben möchte, dem hilft folgender Code. Diese Methode kann man z.B. vor einem Redirect nach der Registrierungsverarbeitung aufrufen.
private def loginUserFromRequestCredentials(String username, String password) { def auth = new AuthToken(username, password) def authtoken = daoAuthenticationProvider.authenticate(auth) SecurityContextHolder.context.authentication = authtoken }
Dazu noch die passenden Imports:
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken as AuthToken import org.springframework.security.core.context.SecurityContextHolder
Ich nutze Grails 2.1, Spring-Security-Core 1.2.7.
Viel Spaß damit! 🙂