C# 信号认证

C# 信号认证,c#,asp.net,asp.net-mvc,signalr,C#,Asp.net,Asp.net Mvc,Signalr,我有一个使用新身份安全的ASP MVC5应用程序。我的项目实际上是一个使用signalR 2.0.3的简单聊天应用程序。现在的问题是,客户端是在连接聊天服务器(ASP.NET MVC5托管的SignalR服务器)的VB中完成的,我需要使用生成的accountcontroller的登录方法对用户进行身份验证(在VB中)。我确实在信号器文档中找到了一个示例,但我认为它不起作用,因为它是为表单身份验证而做的;以下是信号机网站()的代码 (然后将cookie传递到hubconnection的cookie

我有一个使用新身份安全的ASP MVC5应用程序。我的项目实际上是一个使用signalR 2.0.3的简单聊天应用程序。现在的问题是,客户端是在连接聊天服务器(ASP.NET MVC5托管的SignalR服务器)的VB中完成的,我需要使用生成的accountcontroller的登录方法对用户进行身份验证(在VB中)。我确实在信号器文档中找到了一个示例,但我认为它不起作用,因为它是为表单身份验证而做的;以下是信号机网站()的代码

(然后将cookie传递到hubconnection的cookie容器)

我是否可以使用accountcontroler/login方法登录我的用户?还是有一种完全不同的方式来实现新身份


提前感谢

这可能会帮助您找到与AuthenticateUser方法相近的等效方法。这与您所拥有的关键区别在于,我链接到的代码发出两个请求,以便它可以发回默认情况下,
AccountController.Login
所期望的防伪令牌。你们可以看看这是怎么用的。谢谢大家。我找到了一种方法。谢谢你的回复!如果你能发布你是如何做到这一点的,这将是非常有用的——这样其他人就可以从中学习。你应该学习如何使用jwt安全性,以便使用signlar进行身份验证
private static bool AuthenticateUser(string user, string password, out Cookie authCookie)
{
    var request = WebRequest.Create("https://www.contoso.com/RemoteLogin") as HttpWebRequest;
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.CookieContainer = new CookieContainer();

    var authCredentials = "UserName=" + user + "&Password=" + password;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(authCredentials);
    request.ContentLength = bytes.Length;
    using (var requestStream = request.GetRequestStream())
    {
        requestStream.Write(bytes, 0, bytes.Length);
    }

    using (var response = request.GetResponse() as HttpWebResponse)
    {
        authCookie = response.Cookies[FormsAuthentication.FormsCookieName];
    }

    if (authCookie != null)
    {
        return true;
    }
    else
    {
        return false;
    }
}