有没有办法检查用户是否在集线器中登录?
我知道我可以使用它,但是HttpContext在集线器中不可用:
HttpContext.Current.User.Identity.IsAuthenticated
- 问题是我正在向一堆用户发送数据,并假设其中一个客户端暂时处于非活动状态并且他/她的会话到期。
我想做的是在我的Hub => Send()方法(从事件调用),检查用户是否仍然登录,如果不是,我会向他/她的浏览器发送消息以重新加载页面。
答案 0 :(得分:2)
如果您只希望身份验证的用户能够连接/发送到集线器,则可以使用集线器上的“授权”属性。如果你想获得当前用户,那么你只需要访问Context.User(它是集线器上可用的属性)。
答案 1 :(得分:1)
您可以使用Context.User.Identity.IsAuthenticated
public class Chat : Hub
{
public void send(string message)
{
Clients.addMessage(message);
}
public void securesend(string message)
{
if (this.Context.User.Identity.IsAuthenticated)
{
// secure send.
}
}
}