尽管有非常相似的帖子,但没有得到答复。
我的带有 WebSocket 的 JavaFX 应用程序将
- 发送用户名、密码到服务器
- 保留会话以让用户执行诸如个人数据管理之类的操作。
从中学习
Oracle WebSocket、 Tyrus 8.14 客户端 HTTP 认证
我有:
@ClientEndPoint
public class loginEndPoint {
final ClientEndpointConfig cec = ClientEndpointConfig.Builder.create().build();
public static void main(String [] args) {
AuthConfig authConfig = AuthConfig.Builder.create().disableBasicAuth().build();
Credentials credentials = new Credentials("ws_user", "password");
client.getProperties().put(ClientProperties.AUTH_CONFIG, authConfig);
client.getProperties().put(ClientProperties.CREDENTIALS, credentials);
client.connectToServer(new Endpoint() {
@Override
public void onOpen(Session session, EndpointConfig config) {
try {
session.addMessageHandler((MessageHandler.Whole<String>) (String message) -> {
System.out.println("Received message: "+message);
messageLatch.countDown();
});
//let user do some data management
} catch (IOException e) {
System.out.println("Connect Fail.");
}
}
}, cec, new URI("ws://localhost/myApp/login"));
}
}
这些代码是否可以进行身份验证?我在哪里可以在@ServerEndPoint 上进行服务器端身份验证?
@ServerEndpoint
public class loginServerEndPoint {
}
感谢帮助。