Authentifizierungsoptionen für mobile Geräte
Aktualisiert: November 2007
In diesem Thema werden die Authentifizierungsoptionen für mobile ASP.NET-Seiten und Steuerelemente erläutert. Es werden einige Schwierigkeiten bei der Authentifizierung auf mobilen Geräten angesprochen und die folgenden Authentifizierungsmethoden behandelt:
Windows-Authentifizierung
Passport-Authentifizierung
Formularauthentifizierung
Authentifizierung auf Geräten, die keine Cookies unterstützen
Windows-Authentifizierung
Internetinformationsdienste (IIS) kann zusammen mit ASP.NET die auf Microsoft Windows basierende Authentifizierung mit dem Client aushandeln. In einer ungesicherten Anwendung (eine Anwendung, in der eine anonyme Authentifizierung verwendet wird) wird die Identität des anfordernden Benutzers nie berücksichtigt. Stattdessen wird die Anforderung mit einem während der IIS-Installation erstellten Standardkonto ausgeführt.
Mit dem Internetdienste-Manager können Sie zwischen der Standard-, der Digest- und der integrierten Windows-Authentifizierung wählen. Sie können diese Modelle mit dem Internetdienste-Manager-Snap-In für die Microsoft Management Console konfigurieren. IIS handelt die Anmeldeinformationen auf der Grundlage der vom Browser unterstützten Authentifizierungsmethoden und der für die Anwendung aktivierten Authentifizierungsmethoden aus.
Standardauthentifizierung
Viele der heute auf dem Markt befindlichen mobilen Geräte unterstützen nur die Standardauthentifizierung. Die Standardauthentifizierung ist der am häufigsten unterstützte Mechanismus zum Austausch von Anmeldeinformationen. Sie bietet allein jedoch keine Sicherheit, da sie über keine Verschlüsselung verfügt.
Vorsicht: |
---|
Bei der Standardauthentifizierung werden Benutzername und Kennwörter standardmäßig als Klartext übertragen. Es wird deshalb empfohlen, dass Sie HTTPS für diese und andere vertraulichen Informationen verwenden. |
Passport-Authentifizierung
ASP.NET unterstützt keine Passport-Authentifizierung für mobile Geräte.
Formularauthentifizierung
Die Formularauthentifizierung ist ein Teil der .NET Framework-Architektur, mit der Sie Benutzer ohne IIS-Authentifizierung authentifizieren können. So sieht im Allgemeinen die Reihenfolge der Ereignisse aus:
Der Client fordert eine Seite an.
Wenn der Benutzer nicht bereits authentifiziert ist, wird der Browser zu einem Anmeldeformular umgeleitet.
Der Client stellt Anmeldeinformationen in einem Formular bereit, das an den Server zurückgesendet wird.
Die Anwendung überprüft die Anmeldeinformationen. Wenn der Benutzer überprüft ist, stellt die Anwendung dem Client ein Formularauthentifizierungsticket (Cookie) aus und leitet auf die ursprünglich angeforderte Seite um.
Bei nachfolgenden Anforderungen wird das Authentifizierungscookie überprüft, und wenn es gültig ist, wird die angeforderte Seite direkt präsentiert.
Für einige Geräte, die keine Cookies unterstützen, stellt Schritt 4 ein Problem dar. Die RedirectFromLoginPage-Methode schreibt die Authentifizierungsinformationen in die Abfragezeichenfolge. Die Authentifizierungsinformationen können in den einzelnen Anforderungen als Bestandteil der Abfragezeichenfolge dargestellt werden, um zu vermeiden, dass der Benutzer bei jeder Anforderung zur Anmeldeseite umgeleitet wird. ASP.NET stellt eine Methode zum Übertragen solcher Daten in die Abfragezeichenfolge für relative URLs bereit.
Ein Beispiel zur Ausführung der Formularauthentifizierung finden Sie in der Übersicht zur MobileFormsAuthentication-Klasse.
Vorsicht: |
---|
Standardmäßig sendet die Formularauthentifizierung den Benutzernamen und das Kennwort als Klartext. Es wird daher empfohlen, für diese und andere kritische Informationen HTTPS zu verwenden und das requiresSSL-Attribut des <forms>-Elements in der Datei Web.config festzulegen. Wenn ein Gerät SSL nicht direkt oder über das Gateway unterstützt und versucht, auf eine Seite zuzugreifen, für die SSL erforderlich ist, wird eine Fehlermeldung angezeigt. |
Authentifizierung auf Geräten, die keine Cookies unterstützen
Authentifizierungsmodelle für Browser verwenden normalerweise Cookies, um die Authentifizierung des Benutzers zu verfolgen. Viele mobile Geräte unterstützen keine Cookies und können daher keine Authentifizierung über dieses Verfahren durchführen.
Indem die Standardauthentifizierung für eine möglichst große Anzahl von Geräten bereitgestellt wird, erhöht sich der Wert bei der Programmierung für mobile Geräte.
Bei der Authentifizierung ohne Cookies muss auf ein Authentifizierungsticket an einer anderen Position zugegriffen werden. Wenn bei der Formularauthentifizierung kein Cookie vorhanden ist, sucht das ASP.NET-Authentifizierungsmodul in der Abfragezeichenfolge danach. Zur Implementierung schließen Sie die Sitzungs-ID in die Abfragezeichenfolge ein. Dazu müssen sämtliche Verknüpfungen auf einer Seite so umgeschrieben werden, dass sie das Authentifizierungsticket über Bedingungen auf Grundlage der folgenden Faktoren einbinden:
Wurde die Anwendung so konfiguriert, dass sie Daten ohne Cookies beibehält? Dies wird durch die Einstellung der CookielessDataDictionary-Eigenschaft der IPageAdapter-Schnittstelle festgelegt.
Ist für dieses Gerät die Authentifizierung ohne Cookies erforderlich?
Hinweis: Ein einzelnes Gerät kann nicht für die Authentifizierung ohne Cookies konfiguriert werden.
Das CookielessDataDictionaryType-Attribut im <mobileControls>-Element muss festgelegt werden, damit die Authentifizierung auf Geräten ohne Cookies sowie auf Geräten, bei denen das SupportsCookieWithRedirect-Attribut auf false festgelegt wurde, ordnungsgemäß erfolgen kann. Standardmäßig ist das CookielessDataDictionaryType-Attribut in der Datei Machine.config auf CookielessData festgelegt. Zum Überschreiben dieses Verhaltens für eine einzelne Anwendung müssen Sie das CookielessDataDictionaryType-Attribut auf eine leere Zeichenfolge ("") festlegen.
Beachten Sie, dass bei einigen Geräten und Browsern gegenwärtig vollqualifizierte URLs als Reaktion auf eine HTTP-Umleitung erforderlich sind. Legen Sie (auf Anwendungsebene) das UseFullyQualifiedRedirectUrl-Attribut auf true fest (im <system.web>-Element in der Datei Machine.config oder in der Datei Web.config). Weitere Informationen finden Sie unter Umleiten zu einer ASP.NET Mobile-Webseite.
Weitere Sicherheitsempfehlungen finden Sie unter Sichern von Anwendungen und Sicherheit für ASP.NET-Webanwendungen.
Siehe auch
Konzepte
Entwerfen von sicheren mobilen Web Form-Seiten