2014-01-12 4 views
2

Насколько я знаю, невозможно аннулировать или удалить определенное (или несколько, скажем, на основе имени пользователя) Domino HTTP Session (s) (darn IMAP). Есть ли/что было бы подходящим обходным путем/механизмом для того, чтобы каким-либо образом отбросить/аннулировать сеансы HTTP-сервера Domino?Invalidate/Drop Domino HTTP Session?

Некоторые примеры случаев могут быть:

  • же пользователем, две сессии, в одном из тех, пользователь изменяет HTTP Пароль (на данный момент все остальные сеансы должны быть немедленно признаны недействительными). Если он/она продолжает работать/просматривать в другом (браузере) сеансе (в какой-то момент), вы получаете сообщение «Ошибка аутентификации с использованием пароля интернета» на вашей консоли, и если вам не повезло, пользователь блокируется.
  • Facebook-стиль; просмотрите текущие активные сеансы. Еще один шаг, если они видят подозрительный сеанс на основе IP/Location, давая им контроль за его недействительностью.
  • Клиент звонит; «У меня такое чувство, что моя сессия захвачена». Первый ответ; «Вы умный пользователь, не так ли?». Впоследствии вы хотите удалить эти сеансы с этим именем пользователя (через консоль или веб-интерфейс «admin»).
  • ...
+0

Что вы пытались и что не сработало для вас? Для XPages вы можете использовать пользовательский PhaseListener (см. Http://devgrok.blogspot.cz/2009/07/access-control-using-phaselistener.html или http://www.jsftutorials.net/faces-config /phaseTracker.html). Вам также нужно будет обратиться к http://docs.oracle.com/javaee/1.4/tutorial/doc/JSFIntro10.html, чтобы вы могли точно знать, когда хотите выполнить свои проверки. –

+0

Спасибо за комментарий. Мы действительно можем сохранить имя пользователя и инициализированный SessionID на скользящей карте и подтвердить эту карту на соответствующей фазе. Но дело в том, что сеансы все еще будут существовать на сервере. Случай 3, например; все необходимо, это активный (инициализированный) сеанс на сервере и созданный файл cookie DomAuthSessId для захвата сеанса. Таким образом, в этом случае (принятие желаемого за действительное), что нужно сделать; HttpSession.Destroy («user/sessionID») или что-то вроде; сообщите http drop session Dalie

+0

Хотя ваш сценарий вполне реальный, на самом деле я не рассматриваю его как серьезный риск, предполагая, что вы уже применили все рекомендации по безопасности на своем сервере. Вы всегда можете отслеживать IP-адрес пользователя своего файла cookie. Вы всегда можете отключить веб-доступ ко всем базам данных на сервере, за исключением тех, которые вам нужно подвергать веб-пользователям. Вам не нужно, чтобы Domino Directory подвергался проверке подлинности пользователей. Вы всегда должны использовать SSL, чтобы предотвратить атаки MITM. –

ответ

3

Вы должны взять под контроль процесс аутентификации, который может быть сделано с помощью интерфейса DSAPI, который описан в документации API Notes C. Я сам делал только небольшую работу по DSAPI, но я понимаю, что от других, которые много работали с ней, что расширенная работа с DSAPI определенно не для слабонервных. Возможно, вам захочется заглянуть в некоторые сторонние продукты (например, из PistolStar), которые могут предоставить хотя бы некоторые из функций, которые вы ищете.

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