2016-06-30 2 views
0

Hier ist mein Controller. Es funktioniert nicht für angemeldete Benutzer, die den Zugriff auf die Anmeldeseite verhindern. Bitte hilf mir. Ich habe die request.Is Authenicated und User.Identity Methods in meinem Controller ich tunverhindern, dass der eingeloggte User die Login-Seite erreicht asp.net mvc applicaion

[HttpPost] 
[AllowAnonymous] 
public ActionResult Login(LoginViewModel model, string returnUrl) 
{ 
    if (Request.IsAuthenticated) 
    { 
     return RedirectToAction("Main","Home"); 
    } 
    else if (!this.ModelState.IsValid) 
    { 
     return this.View(model); 
    } 

    else if (Membership.ValidateUser(model.Username, model.Password)) 
    { 
     FormsAuthentication.SetAuthCookie(model.Username, model.RememberMe); 
     if (this.Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") 
      && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) 
     { 
      return this.Redirect(returnUrl); 
     } 

     return this.RedirectToAction("Main", "Home"); 
    } 
    this.ModelState.AddModelError(string.Empty,"Invalid Credentials."); 
    this.ModelState.AddModelError(string.Empty, "The user name or password provided is incorrect."); 

    return this.View(model); 
} 

Antwort

1

ich diese Linie in meinem Code versucht

Bool Test = Request.IsAuthenticated;

und es kam immer falsch. Allerdings verwende ich Windows-Authentifizierung in meiner Anwendung. Wenn Sie einen Anmeldebildschirm haben, nehme ich an, dass Sie nicht sind. Ich habe diesen Post auf der Site gefunden, der immer einen falschen Wert von Request.IsAuthenticated erhalten hat. Offensichtlich sollte Ihr Code funktionieren, wenn Sie von diesem Flag den richtigen Wert erhalten. Wenn dies nicht die Antwort ist, lassen Sie es mich wissen, ich könnte ein wenig mehr recherchieren.

Request.IsAuthenticated is always false

0

dies ist die Art und Weise verwendet:

public bool IsAuthenticated 
{ 
    get 
    { 
     return this._context.User != null && 
       this._context.User.Identity != null && 
       this._context.User.Identity.IsAuthenticated; 
    } 
} 
Verwandte Themen