Пружины простые <запомнить-меня /> не работают :-( - PullRequest
1 голос
/ 12 сентября 2010

Я пытаюсь использовать <remember-me/> аутентификацию Spring Security . Строка в моем контексте безопасности выглядит так:

 <security:remember-me key="89dqj219dn910lsAc12" user-service-ref="jpaUserDetailsService"/>

Хотя я использую свою собственную реализацию UserDetailsService (протестировано и работает), я также пытался использовать стандартную, работающую с той же проблемой, а именно:

  1. При входе в систему с установленным флажком «запомнить меня», cookie, как и ожидалось, генерируется:

    Имя: SPRING_SECURITY_REMEMBER_ME_COOKIE; Значение: c2FzczoxMjg1NTIxOTI1NzY4OmIxODQ5YTE2ZDY1MDVmZDFhNWRlN2Y2NzFlMzc1MmI0; Host: localhost; Путь: / webapp; Безопасный: нет; Действительно до: вс, 26 сентября 2010 17:25:25 GMT)

  2. Браузер перезапустился

  3. Печенье все еще там

  4. Попытка доступа к любой защищенной странице заканчивается ошибкой «Отказано в доступе»:

    org.springframework.security.access.AccessDeniedException: доступ запрещен

    Объект аутентификации в виде строки: org.springframework.security.authentication.RememberMeAuthenticationToken@ffcaab94: Принципал: de.myapp.businessobjects.AppUser@35c12e: Имя пользователя: имя пользователя; Пароль защищен]; Включено: правда; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Персональная информация: 32768; ; Полномочия: [ЗАЩИЩЕНО]; Аутентифицировано: правда; Подробности: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Не предоставлено никаких полномочий

Я в замешательстве и не знаю, что идет не так и с чего начать отладку. Помогите, пожалуйста?

1 Ответ

1 голос
/ 12 сентября 2010

Похоже, что пользователь успешно аутентифицирован, но по какой-то причине у него нет полномочий (то есть роли). Поэтому убедитесь, что данные пользователя, возвращенные вашим UserDetailsService, возвращают правильные права доступа UserDetails.getAuthorities().

...