Freigeben über


ClientFormsIdentity Klasse

Definition

Stellt eine Für Clientanwendungsdienste authentifizierte Benutzeridentität mithilfe der Formularauthentifizierung dar.

public ref class ClientFormsIdentity : IDisposable, System::Security::Principal::IIdentity
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
type ClientFormsIdentity = class
    interface IIdentity
    interface IDisposable
Public Class ClientFormsIdentity
Implements IDisposable, IIdentity
Vererbung
ClientFormsIdentity
Implementiert

Beispiele

Im folgenden Beispielcode wird veranschaulicht, wie Sie diese Klasse verwenden, um einen Benutzer im Hintergrund zu aktualisieren, wenn die Anwendung den Offlinestatus verlässt. In diesem Beispiel aktualisiert ein CheckedChanged Ereignishandler den Offlinestatus so, dass er mit dem Kontrollkästchenwert übereinstimmt. Wenn der Benutzer die Anwendung auf den Onlinestatus festlegt, versucht der Ereignishandler, den Benutzer durch Aufrufen der RevalidateUser-Methode erneut zu aktualisieren. Wenn der Authentifizierungsserver jedoch nicht verfügbar ist, gibt der Ereignishandler die Anwendung in den Offlinezustand zurück.

Anmerkung

Die RevalidateUser Methode dient nur zur Vereinfachung. Da kein Rückgabewert vorliegt, kann nicht angegeben werden, ob die Erneute Überprüfung fehlgeschlagen ist. Die Erneute Überprüfung kann z. B. fehlschlagen, wenn sich die Benutzeranmeldeinformationen auf dem Server geändert haben. In diesem Fall möchten Sie möglicherweise Code einschließen, der Benutzer explizit überprüft, nachdem ein Dienstaufruf fehlschlägt. Weitere Informationen finden Sie im Abschnitt "Zugreifen auf Webeinstellungen" in Walkthrough: Using Client Application Services.

private void workOfflineCheckBox_CheckedChanged(
    object sender, EventArgs e)
{
    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked;
    if (!ConnectivityStatus.IsOffline)
    {
        try
        {
            // Silently re-validate the user.
            ((ClientFormsIdentity)
                System.Threading.Thread.CurrentPrincipal.Identity)
                .RevalidateUser();

            // If any settings have been changed locally, save the new
            // new values to the Web settings service.
            SaveSettings();

            // If any settings have not been changed locally, check 
            // the Web settings service for updates. 
            Properties.Settings.Default.Reload();
        }
        catch (System.Net.WebException)
        {
            MessageBox.Show(
                "Unable to access the authentication service. " +
                Environment.NewLine + "Staying in offline mode.",
                "Warning", MessageBoxButtons.OK, 
                MessageBoxIcon.Warning);
            workOfflineCheckBox.Checked = true;
        }
    }
}
Private Sub workOfflineCheckBox_CheckedChanged( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles workOfflineCheckBox.CheckedChanged

    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked
    If Not ConnectivityStatus.IsOffline Then

        Try

            ' Silently re-validate the user.
            CType(System.Threading.Thread.CurrentPrincipal.Identity,  _
                ClientFormsIdentity).RevalidateUser()

            ' If any settings have been changed locally, save the new
            ' new values to the Web settings service.
            SaveSettings()

            ' If any settings have not been changed locally, check 
            ' the Web settings service for updates. 
            My.Settings.Reload()

        Catch ex As System.Net.WebException

            MessageBox.Show( _
                "Unable to access the authentication service. " & _
                Environment.NewLine + "Staying in offline mode.", _
                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            workOfflineCheckBox.Checked = True

        End Try

    End If
End Sub

Hinweise

Das Feature für Clientanwendungsdienste verwendet diese Klasse, um einen authentifizierten Benutzer darzustellen. Wenn Sie Ihre Anwendung für die Verwendung von Clientanwendungsdiensten und Formularauthentifizierung konfigurieren, können Sie einen Benutzer authentifizieren, indem Sie die staticMembership.ValidateUser-Methode aufrufen. Nach der Authentifizierung können Sie einen Verweis auf die aktuelle ClientFormsIdentity Instanz über die Identity-Eigenschaft der IPrincipal abrufen, die über die eigenschaft staticThread.CurrentPrincipal abgerufen wurde. Weitere Informationen finden Sie unter Client Application Services.

In der Regel greifen Sie als IIdentity Verweis auf ein ClientFormsIdentity-Objekt zu, um eine direkte Abhängigkeit von dieser Klasse zu vermeiden. Sie können ermitteln, ob ein Benutzer authentifiziert wird, indem Sie die IIdentity.IsAuthenticated Eigenschaft der Identität überprüfen. Der Benutzer kann jedoch für Windows authentifiziert werden, aber nicht für Clientanwendungsdienste. Um festzustellen, ob der Benutzer für Clientanwendungsdienste authentifiziert ist, sollten Sie auch bestätigen, dass der IIdentity.AuthenticationType Eigenschaftswert "ClientForms" ist.

Sie müssen einen expliziten ClientFormsIdentity Verweis verwenden, um die RevalidateUser-Methode aufzurufen, die nicht durch die IIdentity-Schnittstelle definiert ist.

Konstruktoren

ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer)

Initialisiert eine neue Instanz der ClientFormsIdentity Klasse.

Eigenschaften

AuthenticationCookies

Ruft eine Auflistung der Cookies ab, die vom Authentifizierungsdienst abgerufen werden.

AuthenticationType

Ruft den Typ der Authentifizierung ab, die zum Authentifizieren des Benutzers verwendet wird.

IsAuthenticated

Ruft einen Wert ab, der angibt, ob der Benutzer authentifiziert wurde.

Name

Ruft den Namen des Benutzers ab.

Provider

Ruft den Mitgliedschaftsanbieter ab, der zum Authentifizieren des Benutzers verwendet wird.

Methoden

Dispose()

Gibt alle vom ClientFormsIdentityverwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die vom ClientFormsIdentity verwendet werden, und gibt optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
RevalidateUser()

Authentifiziert den Benutzer automatisch mithilfe zwischengespeicherter Anmeldeinformationen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen