Аутентификация через веб-сокет в Wildfly с помощью RolesAllowed

У меня есть веб-сокет, определенный с использованием стандартной аннотации, например

@ServerEndpoint("/mySocket")
@Singleton
public class myWebsocket {

@Inject
private MyEjb myEjb;

@OnMessage
public void message(Session session, String msg) { ...

Несмотря на то, что мой пользователь вошел в систему, я получаю исключения доступа при вызове myEjb, потому что он не распознает моего пользователя. Если я проверю принципала моего объекта сеанса

session.getUserPrincipal().getName()

правильный пользователь найден, однако, если я проверю класс jboss SecurityContext, я увижу анонимного пользователя


person Chris Pike    schedule 25.03.2015    source источник
comment
похоже на проблему, описанную здесь developer.jboss.org/thread/240617?start =0&tstart=0   -  person Chris Pike    schedule 25.03.2015


Ответы (1)


Это известный недостаток спецификации Java EE 7 WebSocket, см. следующую проблему в их системе отслеживания ошибок.

Однако существует обходной путь, см. проект JBoss Security Extended и этот пример< /а>.

person mrts    schedule 11.06.2017