У меня есть клиентское/Java-приложение java на основе HTTP. Теперь я хочу добавить некоторые функции SIP. Сервер может принимать сообщения SIP только от аутентифицированного пользователя, но аутентификация основана на HTTP.SIP-сервлет FORM-аутентификация
Есть ли способ авторизации SIP-сообщений только для пользователей, прошедших аутентификацию через HTTP?
Контейнер: mobicents 2 на JBoss 7
PS: Я использую декларативную безопасность, поэтому контейнер должен быть осведомлен о личности пользователя.
UPDATE
Что мне нужно это своего рода система слежения аутентификации, что-то вроде печенья для потягивать сообщений: маркер для добавления в каждом глотке сообщении, информирует контейнер, который я уже заверенный через HTTP ,
Способ может состоять в том, чтобы передать токен с помощью пользовательского заголовка SIP, чем с помощью @SipApplicationKey
, чтобы присоединиться к SipApplicationSession. В этом случае проблема заключается в том, что я не могу сгенерировать ключевую форму HttpSession. кроме того, я не уверен, что присоединение к SipApplicationSession решает проблему, поскольку jsr289 говорит, что SipApplicationSession может иметь более одного HttpSession, таким образом, потенциально, более одного аутентифицированного пользователя.
Аутентификация подлинности для сервлета SIP ничем не отличается от аутентификации формы для любого другого сервлета. Все это определено в 'web.xml' и спецификации сервлета. – EJP
@EJP: да, но как только пользователь аутентифицируется через HTTP, как может sip-контейнер узнать, принадлежит ли входящее sip-сообщение этому аутентифицированному пользователю? Используя HTTP, я могу использовать файлы cookie для отслеживания сеанса. – Alf
Проверяя «HttpSession», «remoteUser» и т. Д. – EJP