2011-01-13 30 views

Antwort

3

Das Konzept auf MVC unterscheidet sich von Webformularen, wo Sie gemeinsame Logik auf dem Master tun würden.

In ASP.NET MVC-Masterseite muss nur UI-bezogene Setup enthalten.

In MVC verwenden Sie Aktionsfilter: dekorieren Sie Ihre Aktionen mit [Authorize].

2

Haben Sie ein Projekt mit der Standard-MVC-Projektvorlage erstellt? Es hat alles, was Sie suchen, schon drin. Wenn Sie nicht jetzt weitermachen und jetzt eins erstellen.

Sobald Sie dort sind, werden Sie die [Authorize] Attribute als @Aliostad erwähnt. Dies sind benutzerdefinierte Attribute, die die Überprüfung auf der Controller-Ebene durchführen.

Überprüfen Sie das MVC-Tutorial auf Web-Formular Sicherheit für eine detailliertere heruntergekommenen auf, wie es alle Maschen zusammen: http://www.asp.net/mvc/tutorials/authenticating-users-with-forms-authentication-cs

2

Sie können dies erreichen, indem Sie Ihre eigenen kundenspezifischen Authentisierungsmerkmal zu schaffen.

Erstellen Sie einen neuen Filter-Ordner in Ihrem Projekt und fügen Sie die folgende Klasse

public class NoAccessDirectAuthorizeAttribute : AuthorizeAttribute 
{ 
    public override void OnAuthorization(AuthorizationContext filterContext) 
    { 
     if (!filterContext.HttpContext.User.Identity.IsAuthenticated) 
      filterContext.Result = new RedirectResult("noaccess.aspx"); 
    } 
} 

dann zu Hause Controller und andere erforderliche Controller mit dem Dies wird eine unathenticated Benutzer

[NoAccessDirectAuthorizeAttribute] 
public class HomeController : Controller 

Attribut Authorization dekorieren umleiten zu Ihrer noaccess.aspx Seite