2014-05-07 2 views
0

Sur mon application MVC 4 J'ai un journal à la page qui enregistre un ID utilisateur et transferts utilisateur vers une page de tableau de bord de cette façon:Connectez-vous avec les différents navigateurs MVC 4

var user = _userService.GetUserByCredentials(accountCredentials.Username.Trim(), accountCredentials.Password); 

if (user != null) 
{ 
    FormsAuthentication.SetAuthCookie(user.Id.ToString(), true); 
    return RedirectToAction("Index", "Dashboard"); 
} 

Si je me connecte avec, par ex. Chrome Je me TRANSFÉRÉ bien à http://localhost:63377/Dashboard sur lequel j'utilise User.GetUserId() (sur le contrôleur de tableau de bord):

_user = _userService.GetUserById(User.GetUserId()); 
Session["NimbleUser"] = _user.Firstname + " " + _user.Lastname; 

Une erreur est levée si je copie l'URL (http://localhost:63377/Dashboard) à un Firefox, IE, ... mon tableau de bord sur _user le contrôleur est alors null, probablement parce que User.GetUserId() est null. Comment puis-je réparer ceci afin de pouvoir copier l'URL vers d'autres navigateurs et que mon application fonctionne toujours?

Merci à l'avance

+0

Si 'User.GetUserId()' renvoie null, alors évidemment 'GetUserById' échouera. Si UserId est null, redirigez l'utilisateur vers la page de connexion. – Nilesh

+0

Vous avez raison. C'est comme ça que je vais le faire. – kiriz

Répondre

0

Le cookie auth est stocké par le navigateur, pour le navigateur. Vous devrez effectuer la connexion avec chacun de vos navigateurs que vous souhaitez utiliser.

Questions connexes