具有身份框架的 SignalR

SignalR with Identity framework

老实说,我进行了很多搜索,但找不到有关使用身份框架的 SignalR 的简单教程。

我已经制作了我的身份用户模型以及与之相关的所有其他内容。

public class User : IdentityUser
{

    // Foreign keys and relations
    public virtual Country Country { get; set; }
    public virtual List<UserLanguageLevel> Languages { get; set; }
    public virtual List<UserMeta> Meta { get; set; }

    public virtual List<ChatRoom> ChatRooms { get; set; }
    public User()
    {
        this.Meta = new List<UserMeta>();
        this.Languages = new List<UserLanguageLevel>();
        this.ChatRooms = new List<ChatRoom>();
    }


}

我只想访问 SignalR Hub 的 OnConnected() 方法中的声明,但我不知道如何访问。

请提供相关的好资料和话题。谢谢。

如何访问 Context 的属性?

 System.Web.HttpContextBase httpContext = Context.Request.GetHttpContext();
 System.Security.Principal.IPrincipal user = Context.User;

这将允许您访问用户和声明。我从 official docs 获得了这段代码。

也就是说,我不太确定直接访问这些属性以访问当前用户是否是个好主意。您可以使用 ConnectionId 并将其映射到用户,如 here.

所述