déconnecter le client du serveur côté signal
Je suis SignalR 1 avec MVC4 C# une application web avec un formulaire d'authentification.
J'ai un code dans ma page de mise en page en JavaScript :
$(documnet).ready(function(){
connect to hub code ...
})
Je veux déconnecter un utilisateur forme du moyeu et de commencer à se connecter à nouveau après il fait un login et valider ok.
Je veux le faire depuis le côté serveur à l'intérieur de mon compte contrôleur et méthode :
public ActionResult LogOn(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (System.Web.Security.Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, false);
....here , disconnect from hub
....to make the user reconnect
}
La raison pour laquelle je veux faire, c'est parce que SignalR renvoie une erreur si l'utilisateur a changé de authentifié après la connexion et la connexion reste . L'erreur est:
L'identifiant de connexion est dans un format incorrect.
source d'informationauteur Haddar Macdasi | 2013-04-08
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas arrêter et démarrer SignalR les connexions à partir du serveur. Vous aurez besoin de faire appel
D'une manière que vous pourriez faire ce que vous demandez est d'écrire une déconnexion de l'événement sur votre client que le serveur peut appeler via SignalR. Peut-être quelque chose un peu comme ceci:
Ensuite, sur le serveur, quelque chose comme ceci:
Essayer de tout contrôler à partir de javascript. Ce qui suit est une déconnexion exemple, la connexion serait similaire.
De http://www.asp.net/signalr/overview/security/introduction-to-security:
Essayez ceci:
En supposant que votre connexion est
connection
. Le défi est de l'accès à une poignée de votreconnection
objet dans votre Méthode d'Action.Copier et coller la fonction suivante dans votre Hub
pour forcer le client à déconnecter dans votre hub