Я хочу аннулировать несколько отдельных сеансов, которые я сохранил с помощью «httpsession». Можно ли аннулировать выбранные сеансы и сохранить оставшиеся сеансы в живых?Как аннулировать определенные сеансы?
ответ
Есть два способа аннулировать сессию в сервлет/JSP
1 - session.invalidate();
2 - session.removeAttribute ("xyz");
к аннулированию конкретной сессии мы используем 2-й вариант вместо АБВ вы поставить любое имя сеанса там
(2) - вздор. Атрибуты сеанса не являются сеансами. – EJP
Да, просто позвоните HttpSession.invalidate()
или HttpSession.logout()
(Servlet 3.0).
не приведет к аннулированию всех сеансов связанного клиента? –
@chaodee Нет, это приведет к аннулированию сеанса, на который вы его назовете. – EJP
это полезно, если вы хотите аннулировать всю сессию. но предположим, что я хочу удалить определенную сессию или переменную из сеанса, а не то, что. Если у вас есть лучший способ, чем session.removeAttribute ("xyz"), чем объяснять. но помните, что я хочу просто удалить переменную из сеанса не всей сессии. –
Решение «EJP» отлично подходит для текущего сеанса. Но если Вы хотите, чтобы аннулировать любой сеанс (на основе указанного JSessionID) вот ответ: How to invalidate selected session programmatically?
Он отлично работает для любой сессии. – EJP
Можете ли вы рассказать мне, как это сделать? У меня был тот же самый проблемный месяц (или два) назад. Поэтому возникает вопрос: как я могу аннулировать сеанс с выбранным id (i.e 'xyz') из разных сеансов. – pWoz
Получить сеанс, как показано в вашей ссылке, а затем вызвать один из API, упомянутый в моем ответе. – EJP
Я написал метод, который делает недействительным сеанс с данным SESSIONID:
public void expireSessionWithId(String sessionID)
{
try {
MBeanServer server = java.lang.management.ManagementFactory.getPlatformMBeanServer();
ObjectName objectName=new ObjectName("jboss.web:type=Manager,path=/test,host=default-host");
// declare signature of the parameter
String[] sig = { "java.lang.String"};
// declare parameter
Object[] opArgs1 = { sessionID };
// call the method
String value = (String) server.invoke(objectName, "expireSession",
opArgs1, sig);
System.out.println(value);
} catch (MalformedObjectNameException e) {
//handle the exception
} catch (InstanceNotFoundException e) {
//handle the exception
} catch (ReflectionException e) {
//handle the exception
} catch (MBeanException e) {
//handle the exception
}
}
я работаю над JBoss -7.1.1.Final. Мое приложение называется «test», отсюда и корневой контекст «/ test». Вы должны создать objectName с именем вашего приложения.
Ваш ответ специфичен для JBoss, и JBoss не упоминается в вопросе. -1 – EJP
я думаю, что это лучший способ, чтобы аннулировать конкретную сессию не полностью
session.invalidate();
и
session.removeAttribute("username");
- 1. Отключить определенные сетевые сеансы
- 2. Как аннулировать сеансы пользователей при выходе из системы?
- 3. Можете ли вы убить определенные сеансы?
- 4. PHP - Foreach через определенные активные сеансы
- 5. как аннулировать NSTimer?
- 6. Как правильно аннулировать NSTimer
- 7. Как аннулировать сеанс Siteminder
- 8. Как аннулировать сеанс Wicket
- 9. Как аннулировать свойство кэширования?
- 10. Как аннулировать метод setColorFilter?
- 11. Как аннулировать fadeout?
- 12. Как аннулировать MUICache?
- 13. Как аннулировать итератор?
- 14. как аннулировать сеанс пользователя
- 15. Проверка подлинности Nancy & forms: как аннулировать все сеансы зарегистрированного пользователя, прошедшего проверку подлинности?
- 16. Как аннулировать все сеансы после выхода пользователя из системы в Rails?
- 17. аннулировать нить
- 18. Возможно ли аннулировать отдельную сессию в JBoss через JMX?
- 19. Как получить активные сеансы в экземпляре tomcat?
- 20. Как аннулировать временный зависимый шаблон
- 21. Как сгенерировать/аннулировать удаленный файл?
- 22. Как аннулировать ввод в c
- 23. Как «аннулировать» MFMessageComposeViewController (Obj-C)
- 24. Как аннулировать сеанс CXF Interceptor?
- 25. Как аннулировать задачу async android
- 26. Как аннулировать визуальное свойство зависимостей?
- 27. docusign :: как аннулировать «незавершенный» конверт?
- 28. Как аннулировать кеш при бенчмаркинге?
- 29. Как аннулировать тень для бутстрапа?
- 30. Как аннулировать кеш произвольного URL?
Что вы подразумеваете под выбранными сеансами? –
Предположим, что у клиента есть имя, возраст и число атрибутов. Предположим, что я сохранил их в сеансе в качестве setession («имя», имя), setession («возраст», возраст), setession («число», число). Итак, как мне сделать недействительным только сеанс имени и сохранить остальных в живых? –