使用灰熊网络套接字进行用户身份验证和授权



我看过很多关于用户认证和授权的教程,其中大多数都使用基于表单的认证(j_security_check)和@RolesAllowed进行授权和jdbcRealm。

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

任何帮助将不胜感激。

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

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

request.getHeaderValue("Authorization");

相关内容

最新更新