2012-03-26 5 views

Antwort

4

Verwenden Sie [Authorize] Attribut. Es funktioniert gut mit der Formularauthentifizierung, die Sie vermutlich verwenden.

+0

Ich ging mit dieser Lösung. Am einfachsten (obwohl ich ein eigenes Attribut erstellt habe, das nicht angemeldete Benutzer ein wenig anders behandelt). –

1

Der einfachste Schritt beim Sichern einer ASP.NET MVC3-Anwendung besteht darin, dass Benutzer angemeldet sein müssen, um auf bestimmte URLs zugreifen zu können. Dies geschieht mithilfe des Autorisierungsfilters [Authorize()] auf einem Controller oder einer Aktion.

http://build.mt.gov/2011/10/27/aspnet-mvc3-and-the-authorize-attribute.aspx

anpassen Autorisieren Attribut:

http://www.diaryofaninja.com/blog/2011/07/24/writing-your-own-custom-aspnet-mvc-authorize-attributes

0

Inherit alle Controller von einem Basis-Controller. Der Basiscontroller sollte eine Anmerkung über der Klassendeklaration haben. Sie können .NET-Anmerkungen wie [Autorisieren] verwenden, oder Sie können Ihre eigene Anmerkung implementieren, was einfach ist.

z.

[Secure()] 
public class BaseController : Controller 
{ 
    // Action methods 
} 

Sie werden dann Controller erstellen, die von Ihrer Basis-Controller ableiten wird:

[Secure(false)] 
public class NonSecureController: BaseController 
{ 
    // Action methods 
} 

Sie müssen einfach implementieren Anmerkung, zu dem Sie eine Flagge passieren kann, um anzuzeigen, ob Benutzer erforderlich ist, angemeldet sein, in oder nicht.

Bei der Entwicklung eines benutzerdefinierten Attributs (Annotation) können Sie den Bereich entweder als Klasse oder als Methode angeben. Dies bedeutet, dass Sie Ihre Berechtigungslogik genauer steuern können.

Verwandte Themen