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
Si 'User.GetUserId()' renvoie null, alors évidemment 'GetUserById' échouera. Si UserId est null, redirigez l'utilisateur vers la page de connexion. – Nilesh
Vous avez raison. C'est comme ça que je vais le faire. – kiriz