Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

AuthorizeAttribute-Klasse

.NET Framework 4

Stellt ein Attribut dar, das verwendet wird, um den Zugriff von Aufrufern einer Aktionsmethode einzuschränken.

System.Object
  System.Attribute
    System.Web.Mvc.FilterAttribute
      System.Web.Mvc.AuthorizeAttribute

Namespace:  System.Web.Mvc
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, Inherited = true, 
	AllowMultiple = true)]
public class AuthorizeAttribute : FilterAttribute, 
	IAuthorizationFilter

Der AuthorizeAttribute-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode AuthorizeAttribute Initialisiert eine neue Instanz der AuthorizeAttribute-Klasse.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft Order Ruft die Reihenfolge ab (bzw. legt diese fest), in der die Aktionsfilter ausgeführt werden. (Von FilterAttribute geerbt.)
Öffentliche Eigenschaft Roles Ruft die Benutzerrollen ab bzw. legt diese fest.
Öffentliche Eigenschaft TypeId Ruft den eindeutigen Bezeichner für dieses Attribut ab. (Überschreibt Attribute.TypeId.)
Öffentliche Eigenschaft Users Ruft die autorisierten Benutzer ab bzw. legt sie fest.
Zum Seitenanfang
  Name Beschreibung
Geschützte Methode AuthorizeCore Bestimmt, ob der Zugriff auf das Kernframework zulässig ist.
Öffentliche Methode Equals Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode HandleUnauthorizedRequest Verarbeitet HTTP-Anforderungen, deren Autorisierung nicht erfolgreich war.
Öffentliche Methode IsDefaultAttribute Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche Methode Match Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode OnAuthorization Wird aufgerufen, wenn ein Prozess eine Autorisierung anfordert.
Geschützte Methode OnCacheAuthorization Wird aufgerufen, wenn das Cachemodul eine Autorisierung anfordert.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang
  Name Beschreibung
Explizite Schnittstellenimplementierung Private Methode _Attribute.GetIDsOfNames Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite Schnittstellenimplementierung Private Methode _Attribute.GetTypeInfo Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite Schnittstellenimplementierung Private Methode _Attribute.GetTypeInfoCount Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite Schnittstellenimplementierung Private Methode _Attribute.Invoke Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

Viele Webanwendungen setzen voraus, dass sich die Benutzer anmelden, bevor den Benutzern Zugriff auf eingeschränkten Inhalt gewährt wird. In einigen Anwendungen könnten sogar Benutzer, die angemeldet sind, Einschränkungen auf den Inhalt haben, den sie anzeigen können oder welche Felder sie bearbeiten können.

Um den Zugriff auf eine ASP.NET MVC-Ansicht einzuschränken, schränken Sie Zugriff auf die Aktionsmethode ein, die die Ansicht rendert. Um dies auszuführen, stellt das MVC-Framework die AuthorizeAttribute-Klasse bereit.

Weitere Informationen über das Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Dieses Thema enthält folgende Abschnitte:

Mit AuthorizeAttribute

Wenn Sie eine Aktionsmethode mit einemAuthorizeAttribute-Element markieren, wird der Zugriff auf diese Aktionsmethode für die Benutzer eingeschränkt, die authentifiziert und autorisiert sind. Wenn Sie einen Controller mit dem Attribut markieren, werden als Aktionsmethoden im Controller eingeschränkt.

Das Authorize-Attribut lässt Sie angeben, dass die Autorisierung auf vordefinierte Rollen oder einzelnen Benutzern beschränkt wird. So verfügen Sie über einen hohen Steuerungsgrad darüber, wer zum Anzeigen von Seiten auf dieser Site berechtigt ist.

Wenn ein unbefugter Benutzer versucht, auf eine Methode zuzugreifen, die mit dem Authorize-Attribut markiert wird, gibt das MVC-Framework einen 401 HTTP-Statuscode zurück. Wenn die Site für die Verwendung der ASP.NET-Formularauthentifizierung konfiguriert wurde, führt der 401 Statuscode dazu, dass der Browser den Benutzer auf die Anmeldeseite umleitet.

Ableiten von AuthorizeAttribute

Wenn Sie von der AuthorizeAttribute-Klasse ableiten, muss der abgeleitete Typ threadsicher sein. Speichern Sie daher keinen Zustand in einer Instanz des Typs (z. B., in einem Instanzfeld), außer wenn dieser Zustand für alle Anforderungen übernommen werden soll. Speichern Sie stattdessen den Zustand pro Anforderung in die Items-Eigenschaft, auf die durch die Kontextobjekte zugegriffen werden kann, die an AuthorizeAttribute übergeben werden.

Im folgenden Beispiel werden verschiedene Möglichkeiten zur Verwendung der AuthorizeAttribute-Methode gezeigt. Die HomeController-Klasse verfügt über drei Aktionsmethoden, die mit dem Authorize-Attribut markiert werden, und zwei, die nicht markiert werden. Bei der AuthenticatedUsers-Methode beschränkt das Attribut den Zugriff auf Benutzer, die angemeldet sind. Bei der AdministratorsOnly-Methode beschränkt das Attribut den Zugriff auf Benutzer, die entweder der Administratorrolle oder der Superbenutzerrolle zugewiesen wurden. Bei der SpecificUserOnly-Methode beschränkt das Attribut den Zugriff auf Benutzer, die angemeldet sind. Auf die Index-Methode und About-Methode kann von jedem beliebigen Benutzer zugegriffen werden, auch wenn dieser anonym ist.


[HandleError]
 public class HomeController : Controller
 {
     public ActionResult Index()
     {
         ViewData["Message"] = "Welcome to ASP.NET MVC!";

         return View();
     }

     public ActionResult About()
     {
         return View();
     }

     [Authorize]
     public ActionResult AuthenticatedUsers()
     {
         return View();
     }

     [Authorize(Roles = "Admin, Super User")]
     public ActionResult AdministratorsOnly()
     {
         return View();
     }

     [Authorize(Users = "Betty, Johnny")]
     public ActionResult SpecificUserOnly()
     {
         return View();
     }
 }


Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ