Вывод предупреждения Spring в tomcat "Не удалось создать сеанс" - PullRequest
5 голосов
/ 28 января 2011

Я получаю следующие сообщения и не знаю, что они значат.Кажется, все работает нормально, но я просто хочу быть в безопасности.Есть ли что-то, что можно сделать с этими предупреждениями:

2011-01-25/23:30:06.856/EST [http-80-exec-1] WARN Failed to create a session, as response has been committed. Unable to store SecurityContext.

2011-01-25/23:30:09.597/EST [http-80-exec-3] WARN Authentication event InteractiveAuthenticationSuccessEvent: email@domain.com; details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 170.9.26.16; SessionId: null

Я бегу spring 3 и tomcat 6 с spring security 3

ОБНОВЛЕНИЕ

Я переконфигурировал следующий bean-компонент на основе этой информации (с здесь ):

create-session

Управляет рвением, с которым создается сеанс HTTP.Если не установлено, по умолчанию используется «ifRequired».Другие варианты - «всегда» и «никогда».Установка этого атрибута влияет на свойства allowSessionCreation и forceEagerSessionCreation объекта HttpSessionContextIntegrationFilter.allowSessionCreation всегда будет иметь значение true, если для этого атрибута не установлено значение «never».forceEagerSessionCreation имеет значение «false», если не установлено «всегда».Таким образом, конфигурация по умолчанию позволяет создавать сеансы, но не форсирует их.Исключением является то, что если одновременное управление сеансом включено, когда forceEagerSessionCreation будет установлен в значение true, независимо от того, какой здесь параметр.Использование «никогда» приведет к исключению во время инициализации HttpSessionContextIntegrationFilter.

<bean id="httpSessionContextIntegrationFilter" class="org.springframework.security.web.context.HttpSessionContextIntegrationFilter">
    <property name="allowSessionCreation" value="false"/>
</bean>

Ответы [ 2 ]

3 голосов
/ 28 января 2011

Добавьте следующее в вашу конфигурацию: http session-creation = 'never'> Подробнее на весеннем форуме: http://forum.springsource.org/showthread.php?t=82196

1 голос
/ 26 сентября 2013

Согласно весенней документации http://docs.spring.io/spring-security/site/docs/3.1.x/reference/technical-overview.html, раздел 6.3.2

, вам может потребоваться предварительно создать сеанс HTTP для кэширования контекста между запросами, прежде чем писать ответклиенту невозможно создать сеанс после подтверждения ответа.

Использование Grails, плагин spring-security-core, аутентификация X509 для меня это работа.

В конфиг / конфиг.гроовой добавить

grails.plugins.springsecurity.useSecurityEventListener = true grails.plugins.springsecurity.onInteractiveAuthenticationSuccessEvent = { e, appCtx -> RequestContextHolder.currentRequestAttributes().getSession().getId()}

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