Implementieren rollenbasierter Sicherheit mithilfe formularbasierter Authentifizierung in einer ASP.NET-Anwendung mit Visual C# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 311495 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D311495
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
311495 How To Implement Role-Based Security with Forms-Based Authentication in Your ASP.NET Application by Using Visual C# .NET
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie Sie mit Visual C# .NET rollenbasierte Sicherheit in einer ASP.NET-Anwendung implementieren können, die sich formularbasierter Authentifizierung bedient.


Voraussetzungen

Dieser Artikel setzt voraus, dass Sie bereits formularbasierte Authentifizierung in einer ASP.NET-Anwendung implementiert haben.
301240 Implementieren formularbasierter Authentifizierung in ASP.NET-Anwendungen mit Hilfe von C# .NET

Zuweisen von Rollen an den authentifizierenden Benutzer

Da Formularbenutzer nicht immer Microsoft Windows-Benutzer sind, sind ihnen standardmäßig keine Rollen zugewiesen. Daher müssen die Rollen des authentifizierenden Benutzers mit der Identität des Benutzers verbunden werden, um rollenbezogene Sicherheit innerhalb des Codes implementieren zu können.

Verwenden Sie den Beispielcode in diesem Abschnitt, um rollenbezogene Sicherheit in Ihrer Anwendung zu implementieren. Der Beispielcode weist dem authentifizierenden Benutzer vordefinierte Rollen zu. Je nach Speicherung Ihrer Benutzerdaten können Sie Ihre eigene Methode implementieren, um die Rollen für den authentifizierten Benutzer abzurufen und sie mit seiner Identität zu verbinden. Wie dies gemacht wird, zeigt der nachfolgende Beispielcode.

Kopieren Sie folgenden Code in die Datei "Global.asax" Ihrer Anwendung, um dem authentifizierenden Benutzer im Ereignishandler Application_AuthenticateRequest die Rollen zuzuweisen:
public void Application_AuthenticateRequest( Object src , EventArgs e )
{
   if (!(HttpContext.Current.User == null))
   {
      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" )
      {
      System.Web.Security.FormsIdentity id;
      id = (System.Web.Security.FormsIdentity)HttpContext.Current.User.Identity;
      String[] myRoles = new String[2];
      myRoles[0] = "Manager";
      myRoles[1] = "Admin";
      HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);
      }
   }
}
				

Überprüfen der Benutzerrollen und Implementieren der Programmlogik in Ihre ASPX-Seiten

Folgende Schritte zeigen, wie Programmlogik über Rollen, denen der authentifizierende Benutzer angehört, implementiert und gesteuert werden kann.
  1. Erstellen Sie eine neue ASPX-Seite names "Sample.aspx", und fügen Sie folgenden Code ein:
    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Web" %>
    
      <script runat=server>
        public void Page_Load() {
    	if (User.IsInRole("Admin")){
    		Response.Write ("You are an Administrator");}
    	else {
    		Response.Write ("You do not have any role assigned");}
        }
    
      </script>
    					
  2. Speichern Sie "Sample.aspx" in Ihrer bereits bestehenden Anwendung. Rufen Sie die Seite in Ihrem Browser auf, und führen Sie einen Test durch.

Informationsquellen

Weitere Informationen zu den ASP.NET-Sicherheitsfeatures finden Sie in folgendem Artikel der Microsoft Knowledge Base:
306590 INFO: Überblick über die ASP.NET-Sicherheit
Weitere Informationen zu rollenbasierter Sicherheit finden Sie in folgender Dokumentation des .NET Framework Software Development Kit (SDK):
Role-Based Security (Rollenbasierte Sicherheit)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconrole-basedsecurity.asp
Weitere Informationen zu rollenbasierter Sicherheit finden Sie in der Dokumentation und im Quellcode auf folgender Website von IBuySpy Developer Solutions:
IBuySpy Developer Solutions
http://www.ibuyspy.com
Die Kontaktinformationen bezüglich der in diesem Artikel erwähnten Fremdanbieter sollen Ihnen helfen, den benötigten technischen Support zu finden. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Sie werden von Microsoft ohne jede Gewähr weitergegeben.

Eigenschaften

Artikel-ID: 311495 - Geändert am: Montag, 11. Juli 2005 - Version: 3.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
Keywords: 
kbhowtomaster kbsecurity KB311495
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com