INFO: Hilfe Formularauthentifizierung Sichern von mit Secure Sockets Layer (SSL)

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 813829 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel bezieht sich auf der folgenden Microsoft .NET Framework-Klassenbibliothek-Namespace:
  • System.Web.Security
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Standardmäßig ist das Cookie, das das Formularauthentifizierungsticket enthält nicht gesichert, wenn Sie formularbasierte Authentifizierung in einer Microsoft ASP.NET-Webanwendung verwenden. Dieser Artikel beschreibt wie Sie sichere formularbasierte Authentifizierung mit SSL (Secure Sockets Layer). Dieser Artikel beschreibt außerdem zusätzliche Implementierungsoptionen und alternative Möglichkeiten zum sicheren Formularauthentifizierung.

Weitere Informationen

Formularbasierte Authentifizierung ist ein ASP.NET-Authentifizierungsdienst, der Anwendungen ermöglicht, Ihre eigenen Anmeldeschnittstellen bereitzustellen und eine benutzerdefinierte Überprüfung der Anmeldeinformationen auszuführen. Bei der Formularauthentifizierung ASP.NET authentifiziert den Benutzer und leitet authentifizierte Benutzer auf die Anmeldung-Seite, die durch das LoginUrl -Attribut des im <forms> angegeben ist-Element in der Datei Web.config. Wenn Sie Anmeldeinformationen über das Anmeldeformular bereitstellen, die Anwendung die Anforderung authentifiziert, und das System gibt dann eine FormsAuthenticationTicket -Klasse in Form eines Cookies. Die FormsAuthenticationTicket -Klasse wird als Reaktion auf nachfolgende Cookie übergeben Web Anforderungen von einem authentifizierten Client.

Obwohl Formularauthentifizierung Authentifizierung eine flexible Möglichkeit bietet, müssen Sie einige wichtige Aspekte sorgfältig berücksichtigen, wenn schützen Sie eine ASP.NET-Anwendung. Sie müssen schützen die ursprünglichen Anmeldeinformationen mit SSL, da die Anmeldeinformationen als Klartext an den Server gesendet werden. Sie müssen auch sicherstellen, dass Sie schützen das Cookie, das das Formularauthentifizierungsticket enthält. Zu diesem Zweck verwenden Sie SSL auf allen Seiten, um das Ticket zu schützen. Alternativ können Sie das Formularauthentifizierungsticket verschlüsseln, indem das Schutz -Attribut des den <forms> festlegen Element auf alle oder zu Verschlüsseln , in der Datei Web.config und verwenden Sie die Encrypt -Methode des FormsAuthentication- Klasse, um das Ticket zu verschlüsseln. Weitere Informationen über die Encrypt -Methode von FormsAuthentication -Klasse finden Sie unter der "" Abschnitt dieses Artikels.

Vorteile der Formularauthentifizierung

  • Formulare Authentifizierung unterstützt Authentifizierung anhand von benutzerdefinierten Daten speichern wie Microsoft SQL Server-Datenbank oder Active Directory-Verzeichnisdienste. Weitere Informationen finden Sie den Abschnitt "REFERENCES" dieses Artikels.
  • Formularbasierte Authentifizierung unterstützt die rollenbasierte Autorisierung mit Rolle Lookup aus einem Datenspeicher.
  • Formularbasierte Authentifizierung ist problemlos integriert im Web-Benutzeroberfläche. Weitere Informationen finden Sie den Abschnitt "REFERENCES" dieses Artikels.
  • ASP.NET bietet ein Großteil der Infrastruktur. Relativ wenig Code ist im Vergleich zu Microsoft Active Server Pages Versionen 3.0 und früher erforderlich
  • ASP.NET-Formularauthentifizierung ist Microsoft Internet Explorer nicht erforderlich. Formularbasierte Authentifizierung unterstützt einen breiten Bereich von Webbrowserclients.

Wie Sie Hilfe Sie Formularauthentifizierung Sicherheit

  • Verwenden Sie SSL für alle Seiten.
  • Verwenden Sie die Encrypt -Methode der FormsAuthentication -Klasse.

Verwenden Sie SSL für alle Seiten

Sicherstellen Sie zu, dass das Authentifizierungscookie innerhalb einer Clientsitzung Browser sicher, bleibt mithilfe von SSL-Verschlüsselung zu sicheren sicheren Zugriff auf alle Seiten. In der Anwendung verwenden, die SSL-Verschlüsselung, verhindern Sie jeder aus das Authentifizierungscookie beeinträchtigen und andere wertvolle Informationen zu übertragen.

Legen Sie den Wert der RequireSSL -Eigenschaft auf true in der Datei Web.config. Dadurch wird SSL Ort, wenn das Cookie zurück an den Browser gesendet wird. Wenn Sie nicht den Wert der RequireSSL auf true festlegen, wird das Formular löst eine Ausnahme oder authentifiziert nicht mit dem Cookie.

Wenn Sie RequireSSL auf true festgelegt ist, die verschlüsselte Verbindung schützen die Anmeldeinformationen des Benutzers und ASP.NET legt die HttpCookie.Secure -Eigenschaft für das Authentifizierungscookie. Kompatible Browser geben keine das Cookie zurück, sofern die Verbindung SSL verwendet. Im folgenden wird veranschaulicht, dazu in der Datei Web.config für Ihre Anwendung:
 <configuration>
 <system.web>
   <authentication mode="Forms">
     <forms name=".ASPXAUTH"
       loginUrl="login.aspx" 
       protection="All"
       timeout="20"
       requireSSL="true">
     </forms>
   </authentication > 
   <authorization>
     <deny users="?" />
   </authorization>
 </system.web>
</configuration>
im folgende Beispiel wird Aktion, wenn das Cookie festgelegt wurde, um sicher zu übertragen:

Visual c# .NET Code
 string cookieName = FormsAuthentication.FormsCookieName.ToString(); 
 HttpCookie MyCookie = Context.Request.Cookies[cookieName];

 if (MyCookie.Secure)
 {
      Response.Write("The cookie is secure with SSL.");
      // Add other required code here.
 } 

Visual Basic .NET Code
   Dim cookieName As String = FormsAuthentication.FormsCookieName.ToString
   Dim MyCookie As HttpCookie = Context.Request.Cookies(cookieName)
   If MyCookie.Secure Then
      Response.Write("The cookie is secure with SSL.")
      ' Add other required code here.
   End If

Verwenden der Encrypt-Methode des der FormsAuthentication-Klasse

Wenn Sie nur SSL auf der ersten Anmeldung die Anmeldeinformationen verschlüsseln, die für die Authentifizierung übergeben werden verwenden, stellen Sie sicher, dass das Formularauthentifizierungsticket, das in einem Cookie enthalten ist, geschützt ist. Formulare-Authentifizierungstickets müssen geschützt werden, da das Cookie zwischen dem Client und dem Server für jede nachfolgende Webanforderung übergeben wird. Um das Formularauthentifizierungsticket zu verschlüsseln, konfigurieren Sie das Attribut Protection des der <forms> Element und verwenden die Encrypt -Methode von FormsAuthentication- Klasse, um das Ticket zu verschlüsseln.
<authentication mode="Forms">
  <forms name="MyAppFormsAuth"
       loginUrl="login.aspx"
       protection="All"
       timeout="20" 
       path="/" >
  </forms>
</authentication> 
da das Attribut Protection auf all festgelegt ist, wenn die Anwendung die FormsAuthentication.Encrypt -Methode aufruft, das Ticket muss überprüft werden und verschlüsselt werden.

Rufen Sie die Encrypt -Methode, wenn Sie die Formulare Authentifizierungsticket erstellen. Normalerweise erstellen Sie das Ticket im Ereignishandler Anmeldung der Anwendung.

Visual c# .NET Code
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
Visual Basic .NET Code
Dim encryptedTicket As String = FormsAuthentication.Encrypt(authTicket)

Informationsquellen

Finden Sie Informationen über ASP.NET und Formularauthentifizierung auf der folgenden Microsoft-Websites:
Authentifizierung in ASP.NET: .NET Security Guidance
http://msdn2.microsoft.com/en-us/library/ms978378.aspx
Formulare-Authentifizierungsanbieter
http://msdn2.microsoft.com/en-us/library/9wff0kyh(vs.71).aspx
Weitere Informationen zu Verwendung von SSL zur Absicherung von Formularauthentifizierung finden Sie folgende Artikel der Microsoft Knowledge Base:
306590INFO: Überblick über die ASP.NET-Sicherheit
315588SO WIRD'S GEMACHT: Sichern einer ASP.NET-Anwendung mit clientseitigen Zertifikaten
313116PRB: Forms Authentication Anforderungen sind nicht zu LoginUrl Seite Directed
324069Gewusst wie: Einrichten eines Webdienstes HTTPS in IIS
326340AD - so wird 's gemacht: authentifizieren in Active Directory mithilfe von Formularauthentifizierung und Visual Basic .NET
301240SQL - Gewusst wie: Implementieren formularbasierter Authentifizierung in einer ASP.NET-Anwendung mit c# .NET
308157SQL - Gewusst wie: Implementieren formularbasierter Authentifizierung in einer ASP.NET-Anwendung mit Visual Basic .NET
311495Gewusst wie: Implementieren rollenbasierter Sicherheit mit formularbasierter Authentifizierung in der ASP.NET Anwendung mithilfe von Visual c# .NET
306238Gewusst wie: Implementieren rollenbasierter Sicherheit mit formularbasierter Authentifizierung in einer ASP.NET-Anwendung mit Visual Basic .NET
312906Erstellen von Schlüsseln mithilfe von Visual c# .NET for Use in Forms Authentication
313091Erstellen von Schlüsseln mithilfe von Visual Basic .NET for Use in Forms Authentication

Eigenschaften

Artikel-ID: 813829 - Geändert am: Donnerstag, 19. April 2007 - Version: 2.5
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.1
Keywords: 
kbmt kbcookie kbwebforms kbauthentication kbsecurity kbconfig kbinfo KB813829 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 813829
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