2017-09-18 3 views
0

J'ai HomeController sur quelle méthode d'index ont [Authorize] donc si pas de connexion que de rediriger vers l'action de connexion et après connexion réussie, rediriger vers le contrôleur de la maison du patient.Mais le problème est l'authentification est ne fonctionne pas.Comment faire l'authentification dans asp.Net MVC 5

[Authorize] 
    [HttpGet] 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpGet] 
    public ActionResult Login() 
    { 
     return View(); 
    } 
    [HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult Login(User user) 
    { 
     User usr = _logingService.Login(user.Email,user.Password); 
     if(usr!=null) 
     { 
      Patient pat = _patientService.GetPatient(usr.Id); 
      FormsAuthentication.SetAuthCookie(pat.Name, false); 
      if (usr.Role == "Patient") 
      { 

       return RedirectToAction("Index", "Home", new { Area = "Patient" }); 
      } 
      else 
      { 
      } 

     } 

     return View(); 
    } 

maintenant la base de données que je reçois la valeur réelle, mais après quand il redirect à Patient action Index, là j'utilisé à nouveau [Authorize] mais il rediriger à nouveau la page de connexion

[Authorize] 
    [HttpGet] 
    public ActionResult Index() 
    { 
     return View(); 
    } 
+0

Voir ici - avez-vous supprimé le 'FormsAuthenticationModule' de votre web.config? https://stackoverflow.com/questions/26613421/formsauthentication-setauthcookie-doesnt-authorize-in-mvc-5 –

+0

Merci Monsieur maintenant son travail –

Répondre

0

de web.config supprimer:

<modules> 
    <!--<remove name="FormsAuthenticationModule" />--> 
</modules> 

ou simples supprimer la ligne dans web.config et cela fonctionnera bien.