有没有办法检查用户是否在集线器中登录?
我知道我可以使用它,但是 HttpContext 在集线器中不可用:
HttpContext.Current.User.Identity.IsAuthenticated
-问题是我正在向一群用户发送数据,并假设其中一个客户端有一段时间不活动并且他/她的会话到期。
我想做的是在我的 Hub => Send() 方法(从事件中调用)中,检查用户是否仍然登录,如果没有,我会向他/她的浏览器发送一条消息以重新加载页面.
有没有办法检查用户是否在集线器中登录?
我知道我可以使用它,但是 HttpContext 在集线器中不可用:
HttpContext.Current.User.Identity.IsAuthenticated
-问题是我正在向一群用户发送数据,并假设其中一个客户端有一段时间不活动并且他/她的会话到期。
我想做的是在我的 Hub => Send() 方法(从事件中调用)中,检查用户是否仍然登录,如果没有,我会向他/她的浏览器发送一条消息以重新加载页面.
如果您只希望经过身份验证的用户能够连接/发送到集线器,则可以在集线器上使用 Authorize 属性。如果您想获取当前用户,那么您只需要访问 Context.User (它是集线器上可用的属性)。
你可以检查使用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.
}
}
}