Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 27998|Antwort: 3

[Quelle] Asp.Net Authentifizierung und Autorisierung in MVC

[Link kopieren]
Veröffentlicht am 16.03.2017 13:47:34 | | |

MVC wird mit einem ActionFilter geliefert
Um Identitätsauthentifizierung in Asp.NET WebForm zu erreichen, stellt Microsoft uns drei Möglichkeiten zur Verfügung, von denen die am häufigsten genutzte Formular-Authentifizierung ist, die mit den entsprechenden Informationen konfiguriert werden muss. Zum Beispiel die folgenden Konfigurationsinformationen:


Das bedeutet, dass unsere Anmeldeseite Login.aspx ist, die Standardseite nach erfolgreichem Login Default.aspx ist und unsere Benutzerinformationen zwei Methoden verwenden: Verifizierung und Verschlüsselung. Und das Wichtigste ist, dass wir die Autorisierungsmethode schreiben müssen (die untenstehende Autorisierung muss geschrieben werden, sonst ist es nutzlos, nur die Formular-Authentifizierung zu verwenden und dann relevante Attribute festzulegen), alle anonymen Nutzer abzulehnen und nur angemeldete Nutzer normal darauf zugreifen können. Danach setzen wir den Login-Button so, dass er den Benutzernamen in den Cookie schreibt (also FormsAuthentication.SetAuthCookie(name, false) ausführt; Das wars.
0 In Asp.Net MVC können wir auch Formular-Authentifizierung verwenden, aber wenn du das in WebForm machst, funktioniert es nicht. Zum Beispiel konfigurieren Sie die Informationen folgendermaßen:


Sie richten einen Login in Ihrem Login.aspx ein, um Login im AccountController auszulösen, um sich anzumelden, wobei der Login-Code:

Nachdem du das getan hast, wirst du feststellen, dass dein Login nicht ausgeführt wird. Was ist der Grund? Warum funktioniert dieselbe Einstellung in MVC nicht? Der Grund ist, dass der Mechanismus anders ist, weil man eine Autorisierungsmethode eingerichtet hat, die Login unzugänglich macht. Wie machen wir das also?
Tatsächlich haben wir in Asp.Net MVC eine bessere Möglichkeit, all das zu tun, wir brauchen keine Autorisierungsmethode, was bedeutet, dass unsere Konfigurationsinformationen so aussehen:




Es ist nicht nötig anzugeben, dass anonyme Nutzer sich nicht anmelden dürfen usw. Natürlich wirst du feststellen, dass das allein nicht ausreicht, aber wir müssen dem System mitteilen, welche Daten eingeloggt werden müssen, um darauf zugreifen zu können. Du denkst vielleicht, o()〈))o Oh, das ist zu viel Aufwand. Es ist nicht so, es ist ganz einfach, wir müssen nur [Autorisieren] auf der Aktion markieren, die authentifiziert werden muss. Zum Beispiel habe ich zwei Seiten im Home-Ordner, Index und Home, und ich möchte, dass der Index authentifiziert wird, um darauf zuzugreifen, aber Home nicht, daher muss ich dem Index nur das Aktions-Tag [Authorize] geben, das heißt:



Dadurch kann Index nach dem Einloggen auf Index zugegriffen werden, während Home nicht eingeloggt werden muss. Wenn du Rollen autorisieren musst, kannst du die Rolle beim Markieren von Autorisieren angeben (z. B. [Authorize(Role=Administrators)]), aber du musst den von Microsoft bereitgestellten Mitgliedschaftsmechanismus nutzen, weil deine Rolle nicht umsonst existieren kann, sondern in der entsprechenden Datenbank, die ich in einem anderen Blog erwähnt habe.
Anpassen Sie den ActionFilter
Manchmal können Sie diese Art der Authentifizierung nicht erfüllen, oder wenn Sie das Gefühl haben, nicht flexibel genug zu sein, ist das egal, Asp.Net MVC erlaubt Ihnen, Ihren ActionFilter anzupassen. Zum Beispiel passe ich die Authentifizierung jetzt an:


Falls Benutzerverwaltung erforderlich ist, werde ich die rollenbezogenen Filter definieren:

Tatsächlich werden Sie feststellen, dass die beiden oben genannten Attribute tatsächlich durch MVCs integrierte Authorized gelöst wurden, und hier sagen wir Ihnen hauptsächlich, dass Sie sie bei Bedarf erweitern können.
Das war's für heute! Quellcode-Download: FormsAuthenticationMvc





Vorhergehend:Nach dem VPS-Upgrade beträgt der Prozess etwa 45 und die CPU läuft auf 100.
Nächster:Warnung: "Ungelöste Konflikte zwischen verschiedenen Versionen derselben abhängigen Assembler gefunden"
 Vermieter| Veröffentlicht am 30.03.2017 09:40:22 |
Veröffentlicht am 28.12.2017 14:58:56 |
Es wäre besser, wenn es Renderings gäbe
Veröffentlicht am 07.02.2023 15:44:56 |

Es wäre besser, wenn es Renderings gäbe
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com