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

asp.net mvc 5 verbessert die filterbasierte Authentifizierung

Nov 24, 2016 pm 01:22 PM
asp.net 身份验证 过滤器

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


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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie Single Sign-On in PHP So implementieren Sie Single Sign-On in PHP Jun 11, 2023 pm 07:01 PM

So implementieren Sie Single Sign-On in PHP

So deaktivieren Sie die Authentifizierung beim privaten Surfen in Safari: Anleitung für iOS 17 So deaktivieren Sie die Authentifizierung beim privaten Surfen in Safari: Anleitung für iOS 17 Sep 11, 2023 pm 06:37 PM

So deaktivieren Sie die Authentifizierung beim privaten Surfen in Safari: Anleitung für iOS 17

Wie setze ich das Apple-ID-Passwort zurück? Wie setze ich das Apple-ID-Passwort zurück? May 21, 2023 pm 05:01 PM

Wie setze ich das Apple-ID-Passwort zurück?

So implementieren Sie Authentifizierung und Autorisierung in PHP-Anwendungen mithilfe von JWT So implementieren Sie Authentifizierung und Autorisierung in PHP-Anwendungen mithilfe von JWT Aug 03, 2023 pm 10:17 PM

So implementieren Sie Authentifizierung und Autorisierung in PHP-Anwendungen mithilfe von JWT

Tokenbasierte Authentifizierung mit Angular und Node Tokenbasierte Authentifizierung mit Angular und Node Sep 01, 2023 pm 02:01 PM

Tokenbasierte Authentifizierung mit Angular und Node

Verwendung von JWT zur Implementierung der Authentifizierung in Beego Verwendung von JWT zur Implementierung der Authentifizierung in Beego Jun 22, 2023 pm 12:44 PM

Verwendung von JWT zur Implementierung der Authentifizierung in Beego

Implementierung der Benutzerauthentifizierung mithilfe von Middleware im Slim-Framework Implementierung der Benutzerauthentifizierung mithilfe von Middleware im Slim-Framework Jul 29, 2023 am 10:22 AM

Implementierung der Benutzerauthentifizierung mithilfe von Middleware im Slim-Framework

Laravel-Entwicklung: Wie verwaltet man die Benutzerauthentifizierung mit Laravel Guard? Laravel-Entwicklung: Wie verwaltet man die Benutzerauthentifizierung mit Laravel Guard? Jun 13, 2023 pm 04:41 PM

Laravel-Entwicklung: Wie verwaltet man die Benutzerauthentifizierung mit Laravel Guard?

See all articles