使用grizzly websockets进行用户身份验证和授权

时间:2014-02-17 06:31:10

标签: websocket glassfish-3 jaas grizzly j-security-check

我已经阅读了许多关于用户身份验证和授权的教程,其中大多数都使用基于表单的身份验证(j_security_check)和@RolesAllowed进行授权和jdbcRealm。

因此,如果授权必须工作,我必须从客户端向服务器发送HTTP请求。但我想要的是发送正常的websocket请求,如果我未经授权访问该方法(基于@RolesAllowed参数),我应该得到一个例外。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用Basic Auth。使用Base64对您的用户名:密码进行编码,并将其发送到请求标头的授权字段中。然后在服务器上解码并验证每个请求。如果资源无需身份验证即可使用,请使用@PermitAll。否则使用@RolesAllowed({"role1","role2"})

您可以从请求标头中获取字段,如下所示:

request.getHeaderValue("Authorization");