Heim  >  Artikel  >  Backend-Entwicklung  >  asp.net mvc 5 verbessert die filterbasierte Authentifizierung

asp.net mvc 5 verbessert die filterbasierte Authentifizierung

伊谢尔伦
伊谢尔伦Original
2016-11-24 13:22:001556Durchsuche

ASP.NET MVC 5, das in der kürzlich veröffentlichten Visual Studio 2013 Developer Preview enthalten ist, ermöglicht Entwicklern die Anwendung von Authentifizierungsfiltern, die die Möglichkeit bieten, eine Vielzahl von Drittanbietern oder benutzerdefinierten Authentifizierungsanbietern zur Authentifizierung zu verwenden Benutzer. Diese Filter werden jedoch vor dem Aufruf des Autorisierungsfilters angewendet.

Um einen Authentifizierungsfilter zu erstellen, müssen Entwickler ein neues C# ASP.NET-Projekt erstellen und MVC aus den aufgelisteten Projekttypen auswählen. Eric Vogel, leitender Softwareentwicklungsingenieur bei Kunz, Leigh & Associates, hat den Einsatz von Authentifizierungsfiltern getestet. Er erstellte einen benutzerdefinierten Filter, der Benutzer zurück zur Anmeldeseite umleitete, wenn sie nicht authentifiziert waren.

Eric hat ein CustomAttributes-Verzeichnis und eine neue Klasse CustomAttribute erstellt, die

ActionFilterAttribute和IAuthenticationFilter:
public class BasicAuthAttribute: ActionFilterAttribute,IAuthenticationFilter

erbt. Die OnAuthentication()-Methode der Schnittstelle IAuthenticationFilter kann verwendet werden, um jede erforderliche Authentifizierung durchzuführen, und die OnAuthenticationChallenge-Methode schränkt diese ein Zugriff auf authentifizierte Benutzer basierend auf ihrer Identität.

Die OnAuthenticationChallenge-Methode empfängt den Parameter AuthenticationChallengeContext und ihr Implementierungscode lautet wie folgt:

public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
    var user = filterContext.HttpContext.User;
    if (user == null || !user.Identity.IsAuthenticated)
    {
        filterContext.Result = new HttpUnauthorizedResult();
    }
}

Leser können den vollständigen Quellcode aus Erics Blogbeitrag erhalten. Die BasicAuthAttribute-Klasse lässt sich einfach testen. Öffnen Sie die HomeController-Klassendatei und fügen Sie den folgenden Code hinzu:

using VSMMvc5AuthFilterDemo.CustomAttributes;

Wenden Sie schließlich das benutzerdefinierte Attribut wie folgt auf die HomeController-Klasse an:

[BasicAuthAttribute]
   public class HomeController : Controller


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Zukünftige Pläne für C#Nächster Artikel:Zukünftige Pläne für C#