Asp.net mvc Signalr 2.0用户和会话数据

Asp.net mvc Signalr 2.0用户和会话数据,asp.net-mvc,signalr,adfs,Asp.net Mvc,Signalr,Adfs,我有一个MVC应用程序,其中包含一个将在单点登录模式下调用的ASPX页面 如何设置通过请求调用传递的用户? 我试图用没有财富的身份 例如: string username = "MyUsername"; string userid = Guid.NewGuid().ToString("N"); //could be a constant List<Claim> claims = new List<Claim>{

我有一个MVC应用程序,其中包含一个将在单点登录模式下调用的ASPX页面

如何设置通过请求调用传递的用户? 我试图用没有财富的身份

例如:

            string username = "MyUsername";
        string userid = Guid.NewGuid().ToString("N"); //could be a constant

        List<Claim> claims = new List<Claim>{
                new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", username), 
                new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", userid)};
        var genericIdentity = new GenericIdentity(username);
        genericIdentity.AddClaims(claims);
        var genericPrincipal = new GenericPrincipal(genericIdentity, new string[] { "aaa" });
        Context.User = genericPrincipal;
第二个问题是,我有一些关于用户的数据,但我不能像信号器设计所期望的那样设置为会话。 如何解决呢

更新: 经过一番探索,我明白了我真正需要的是什么。调用页面时,我会检查数据库中的用户验证,如果验证了,我需要以一种到处都可以访问的方式存储这些信息。这就是我对会话对象所做的。 对我来说,用户不是一个简单的字符串,而是一个复杂的对象,它包含了有关程序行为的有用信息。 我希望我说得更清楚。

你可以。
如果您的数据过于复杂,您需要使用hub方法在适当的时间传递它。

如果您解决了问题,您应该将其作为答案发布,并接受我尚未解决的问题。