我尝试使用静态AuthProvider,如下所示在服务器端它告诉我 2015-01-14 10:57:21,353 警告 - 系统插件:尝试使用无效凭据登录,用户名"root"。
但是如果我从网页发送任何数据,它会成功地在 websocket 上出现。我必须自己拒绝连接吗?如何确定凭据是否有效?我可以使用
webSocketServerEvent.getConnector().getUsername()
获取用户名,但问题是一开始用户名是"匿名的",过了一会儿它是"root"(如果凭据正确)。
我在进程数据包方法中尝试了这个:
if (!webSocketServerEvent.getConnector().getUsername().equals("root")) {
webSocketServerEvent.getConnector().stopConnector(CloseReason.SERVER_REJECT_CONNECTION);
}
但这失败了,因为用户名在开始时是匿名的。因此,每次连接尝试都会被拒绝
您是否尝试在jWebSocket论坛上发布此内容?我相信有人会回答你,我会尽力而为,但不确定我是否得到了你要找的东西:
您未进行身份验证的事实并不意味着您在服务器端没有执行内容的权限,例如,您将始终可以访问SystemPlugIn。现在,如果您希望匿名用户没有权限,请继续编辑jWebSocket.xml文件并设置没有任何权限的匿名用户,不确定这是否有帮助,但请尝试让我们知道。谢谢胜利者