Я развернул свое приложение GWT, использующее SpringSecurity, и у меня возникла проблема.
После ввода учетных данных он немедленно выходит из системы. Если я введу неправильные учетные данные, появится сообщение «неправильные учетные данные», но когда я введу правильные, он просто вернется на экран входа в систему. (Итак, соединение mysql работает)
Моя настройка выглядит так: Apache 2 выходит на Tomcat6 на Ubuntu 10.04.2 LTS. Я использую mod_jk между ними.
Я никогда раньше не использовал этот mod_jk, обычно у меня есть автономный Tomcat, но требования обязывают меня использовать его сейчас.
В: Может быть, сеанс Tomcat не запоминает, что пользователь вошел в систему, из-за некоторых вещей конфигурации mod_jk, которые мне не хватает? Запросы пересылаются, поэтому кажется, что mod_jk работает нормально.
Пожалуйста, дайте мне несколько советов, где искать! Или уже должно работать? Просто хочу знать, есть ли стандартные процедуры, которые нужно предпринять, чтобы SpringSecurity работал в такой настройке.
Я следовал следующему руководству по установке mod_jk и получил конфигурацию точно так, как описано в этом руководстве: http://www.howtoforge.com/how-to-install-tomcat6-with-sun-java-and-apache2-integration-on-ubuntu-10.04-lucid-lynx-with-virtual-hosts
Раньше я сам немного занимался этой же проблемой. Если бы некоторые конфигурации работали в одном браузере, а не в другом. Однако я обнаружил, что исправление состоит в том, что вы не должны использовать http и порт 8080 в конфигурации apache httpd. Вы должны использовать ajp и порт 8009 (который в Tomcat включен по умолчанию). Необходимые части конфигурации я изложил ниже:
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_module modules/mod_proxy.so
...
## App Configuration
ProxyPass /app1 ajp://localhost:8009/app1
ProxyPass /app1/j_spring_security_check ajp://localhost:8009/app1/j_spring_security_check
ProxyPass /app1/j_spring_security_logout ajp://localhost:8009/app1/j_spring_security_logout
Примечание: я не включил явно ссылки на виртуальный хост и другие, потому что они действительно будут специфичными для вашей конфигурации. Кроме того, пока вы не изменили порт AJP-коннектора своих серверов tomcat, вам не нужно ничего делать с экземпляром tomcat.