Весенняя безопасность не работает на Glassfish v3 - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть Java-приложение, которое использует Spring Security для входа в систему, ограничения доступа и т. Д., И оно работает без проблем на Glassfish 2.1, Tomcat, jetty, но на glassfish v3 не работает, когда я пытаюсьвойдите в систему и нажмите кнопку Войти, я получаю окно входа с сервера Glassfish (поле «Сервер xxxx требует имя пользователя и пароль»).

У кого-нибудь возникла такая проблема?Пожалуйста, дайте мне знать, как я могу решить эту проблему.

Спасибо, Юрий

Ответы [ 4 ]

1 голос
/ 28 сентября 2011

Я не знаю, что является причиной этого (и, возможно, это может быть одним из нескольких факторов), но я предлагаю вам довести уровень регистрации до максимума и посмотреть, даст ли это вам некоторые подсказки относительно того, чтопроисходит.(Когда уровень журналирования равен DEBUG или выше, SpringSecurity генерирует много журналов.)


... запрос не отправлен в Spring Security, Glassfish остановил его с помощью своей базовой аутентификации,вопрос в том, почему.

Я не знаю, в чем причина этого, но похоже, что некоторые аспекты аутентификации / авторизации Glassfish должны быть отключены, если вы хотите использовать SpringSecurity.(Возможно, вы делали это в вашей установке Glassfish 2.1 ...)

Способ, которым работает SpringSecurity, вы обязательно увидите в журнале сообщений, если запрос поступит к сервлету, на котором установлена ​​цепочка фильтров SS.Возможно, что существует неверная конфигурация SS, которая означает, что у вас нет цепочки фильтров SS, но я подозреваю, что реальная проблема заключается в том, что Glassfish выполняет свой бит до запросов, отправляемых наЦепочка фильтров.

1 голос
/ 29 сентября 2011

Попробуйте прокомментировать следующий фрагмент:

<login-config>
  <auth-method>BASIC</auth-method>
</login-config>

в файле "... / glassfish / domains / domain1 / config / default-web.xml "

0 голосов
/ 02 августа 2013

Кажется, проблема в путанице с URL-адресом / j_spring_security_check, если вы измените его, все снова будет работать.

<security:form-login login-processing-url="/whatever_security_check" />

См. это .

0 голосов
/ 28 сентября 2011

Вы создали пул соединений JDBC и ресурс на сервере Glassfish?

Например:

User: root     
Password: java     
databaseName: theDatabase     
serverName: localhost     
portNumber: 3306    
driverClass: com.mysql.jdbc.Driver   
URL: jdbc:mysql://localhost:3306/dbname  
...