Я пытался войти в систему пользователя автоматически после успешной регистрации с использованием Grails с плагином Spring-security-core. Хотя принудительный вход в систему работает, а все права доступа и т. Д. Загружены, аннотации @Secured в других контроллерах не распознают предоставленные права доступа, и, следовательно, браузер застревает в цикле перенаправления между защищенной страницей и страницами входа в систему.
Мой логин:
def forceLogin = {
PSysuser sysuser = flash.sysuser;
String username = flash.username ?: params.username;
String password = flash.password ?: params.password;
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
sysuser?.username ?: username,
sysuser?.password ?: password
);
request.session;
token.details = new WebAuthenticationDetails(request);
Authentication authenticatedUser = authenticationManager.authenticate(token);
SecurityContextHolder.context.authentication = authenticatedUser;
springSecurityService.reauthenticate(username, password); //doesn't appear to work, but doesn't hurt either.
redirect action:auth;
}
Кто-нибудь знает, как я могу заставить аннотации работать правильно?