Heim > Backend-Entwicklung > C#.Net-Tutorial > asp.net mvc 5 verbessert die filterbasierte Authentifizierung

asp.net mvc 5 verbessert die filterbasierte Authentifizierung

伊谢尔伦
Freigeben: 2016-11-24 13:22:00
Original
1600 Leute haben es durchsucht

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
Nach dem Login kopieren

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();
    }
}
Nach dem Login kopieren

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;
Nach dem Login kopieren

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

[BasicAuthAttribute]
   public class HomeController : Controller
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage