使用RolesAllowed在Wildfly中进行Websocket身份验证

时间:2015-03-25 19:37:48

标签: java websocket java-ee-7 wildfly-8

我有一个使用标准注释定义的Web套接字,如此

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

@Inject
private MyEjb myEjb;

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

即使我的用户已登录,我在调用myEjb时也会获得访问异常,因为它无法识别我的用户。如果我检查会话对象的主体

session.getUserPrincipal().getName()

找到了正确的用户,但是,如果我检查jboss SecurityContext类,我会看到一个匿名用户

1 个答案:

答案 0 :(得分:1)

这是Java EE 7 WebSocket规范中的已知缺陷,请参阅其错误跟踪器中的the following issue

但是,有一种可用的解决方法,请参阅JBoss Security Extended项目和this example