2013-11-30 3 views
1

Я использую Tomcat 7.0 и Java 6. Я хочу разделить сеанс между доменами и поддоменом для examples.com и abc.examples.comатрибут сессии между двумя субдоменами в коте

так в context.xml положить тег

<Context antiResourceLocking="false" privileged="true" sessionCookieDomain=".examples.com" sessionCookiePath="/" > 

успешно обмениваться Cookies JSESSIONID, но когда я установить атрибут в examples.com

logger.info("Demo1 : "+httpSession.getId()); 
    httpSession.setAttribute("data", "subhash lamba"); 
    logger.info(" Demo1 data"+ httpSession.getAttribute("data")); 

, которые не могут быть доступны в test.examples.com подобласти

HttpSession httpSession=request.getSession(); 
    logger.info("Demo3 : "+httpSession.getId()); 
    logger.info(" Demo3 data "+ httpSession.getAttribute("data")); 

, когда я войти JSESSIONID как в домене и поддомене одинаковы, но когда я пытаюсь делить атрибут между ними не работает.

+0

, пожалуйста, помогите решить эту проблему. –

ответ

1

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

Теперь мое решение:

В сервере Tomcat есть контекст, В контексте мы можем хранить объект и тот же контекст может быть доступен каждому приложению в том же сервере Tomcat. Итак, теперь Я создаю объект java.util.Map в java.util.Map-объекте, хранящем пару ключей-ключей, в котором ключ JSESSIONID, а значение - это идентификатор пользователя, который вводит имя пользователя. Итак, теперь я могу легко получить доступ к пользователю, который заходит в домен и все поддомены.

+0

Можете ли вы поделиться своим решением, поскольку у меня такая же проблема. Спасибо. :-) –

Смежные вопросы