Как создать форму входа в систему с помощью Spring Framework на Google App Engine - PullRequest
0 голосов
/ 20 октября 2010

Я новичок в Spring и GAE, и я предполагаю, что это легко, поэтому не упускайте простой ответ.

Весной я понимаю, что мне нужно создать реализацию UserDetailsService, котораязаполняет UserDetails для структуры безопасности при аутентификации.

После этого я получил NotSerializableException на моем SpringUserDetailsService бине, если я его сериализовал (как показано), я получил NotSerializableException на DAOв конце концов.GAE сохраняет сеанс в хранилище данных, и, насколько я понимаю из чтения, среда Spring Web Security использует сеанс.

Если я добавлю @Scope("session) к своему сервису, я получу следующее исключение, которого я действительно не понимаю.Также, кажется, не имеет смысла делать отдельную копию этого класса для каждого сеанса, все они должны просто ссылаться на синглтон.

BeanCreationException: Ошибка создания бина с именем 'testService': Scope'сеанс' не активен для текущего потока;рассмотрите возможность определения прокси-объекта с заданной областью действия для этого компонента, если вы собираетесь ссылаться на него из одноэлементного объекта;Вложенное исключение - java.lang.IllegalStateException: не найден привязанный к потоку запрос: Вы ссылаетесь на атрибуты запроса вне фактического веб-запроса или обрабатываете запрос вне первоначально получающего потока?Если вы действительно работаете в веб-запросе и по-прежнему получаете это сообщение, ваш код, вероятно, выполняется за пределами DispatcherServlet / DispatcherPortlet: в этом случае используйте RequestContextListener или RequestContextFilter для предоставления текущего запроса.

@Service("springUserDetailsService")
public class SpringUserDetailsService implements UserDetailsService, Serializable {
 @Resource(name="userDao")
 private IUserDao userDao;

    @Override
    public UserDetails loadUserByUsername(String username){...}
}

Для такой простой задачи, как форма входа в систему, это бьет меня в зад, может кто-нибудь помочь распутать мой мозг?

1 Ответ

0 голосов
/ 13 ноября 2010

Проверьте эту статью. Это должно помочь вам начать:

http://blog.springsource.com/2010/08/02/spring-security-in-google-app-engine/

Grant

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...