gpt4 book ai didi

c# - SignalR - 在 Windows 窗体服务器上验证 Windows 窗体用户

转载 作者:可可西里 更新时间:2023-11-01 10:44:00 24 4
gpt4 key购买 nike

我有一个小项目,其中包含一个 Windows 窗体信号器客户端和一个 Windows 窗体服务器。客户端可以连接到服务器。现在,我想实现一个登录系统。我阅读了一些关于此的博客文章、文章和问题,但我没有找到一种方法来做到这一点。我想使用 signalr 身份验证系统,这样我就可以使用 [Authorize] 等属性,因为它已经存在。

要使用它,我需要验证用户名和密码。客户端可以像这样在 header 中发送凭据吗

Connection = new HubConnection(BaseEngine.ServerURI);
Connection.Headers.Add("Username", username);
Connection.Headers.Add("Password", password);
HubProxy = Connection.CreateHubProxy("ChatHub");
await Connection.Start();

服务器应该在方法中以某种方式验证这些凭据,如果无效则抛出异常?

我试过使用内置系统,但没有成功。我无法在 OnConnected 方法中获取 Context.User。作为一种解决方法,我尝试在 header 中发送用户名和密码并对其进行验证,但 OnConnected 方法无法向客户端抛出错误。我确定客户端必须有一个身份验证 cookie,但我真的不知道如何添加它。

谢谢!

最佳答案

以这种方式向服务器发送密码绝不是一个好主意,最好发送一个服务器可以验证的 token 。

SignalR 也有一些身份验证功能阅读更多关于此 here

关于c# - SignalR - 在 Windows 窗体服务器上验证 Windows 窗体用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35489779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com