ClientFormsIdentity ClientFormsIdentity ClientFormsIdentity ClientFormsIdentity Class

Definition

Stellt eine Benutzeridentität dar, die mit der Formularauthentifizierung für Clientanwendungsdienste authentifiziert wurde.Represents a user identity authenticated for client application services by using forms authentication.

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
ClientFormsIdentityClientFormsIdentityClientFormsIdentityClientFormsIdentity
Implementiert

Beispiele

Der folgende Beispielcode veranschaulicht, wie diese Klasse einen Benutzer im Hintergrund erneut zu überprüfen, wenn die Anwendung im Offlinezustand verlässt.The following example code demonstrates how to use this class to silently revalidate a user when the application leaves the offline state. In diesem Beispiel eine CheckedChanged -Ereignishandler der Offlinestatus Wert des Kontrollkästchens entsprechend aktualisiert.In this example, a CheckedChanged event handler updates the offline status to match the check box value. Wenn der Benutzer die Anwendung in den Onlinemodus versetzt wird, versucht der Ereignishandler Abgleich den Benutzer durch Aufrufen der RevalidateUser Methode.If the user sets the application to the online state, the event handler attempts to revalidate the user by calling the RevalidateUser method. Wenn die Authentication-Server nicht verfügbar ist, gibt der Ereignishandler jedoch die Anwendung im offline-Status zurück.However, if the authentication server is unavailable, the event handler returns the application to the offline state.

Hinweis

Die RevalidateUser -Methode wird nur ergänzend bereitgestellt.The RevalidateUser method is for convenience only. Da sie nicht über einen Rückgabewert verfügt, kann sie nicht angeben, ob die erneute Überprüfung fehlgeschlagen ist.Because it does not have a return value, it cannot indicate whether revalidation has failed. Die erneute Überprüfung kann z. B. fehlschlagen, wenn die Anmeldeinformationen des Benutzers auf dem Server geändert wurden.Revalidation can fail, for example, if the user credentials have changed on the server. In diesem Fall ist es ratsam, Code einzuschließen, der die Benutzer nach dem Fehlschlagen eines Dienstaufrufs explizit validiert.In this case, you might want to include code that explicitly validates users after a service call fails. Weitere Informationen finden Sie im Abschnitt "Zugriff auf Webeinstellungen" in Exemplarische Vorgehensweise: Mit Clientanwendungsdiensten.For more information, see the Accessing Web Settings section 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

Die Clientanwendungsdienste-Funktion verwendet diese Klasse zum Darstellen eines authentifizierten Benutzers.The client application services feature uses this class to represent an authenticated user. Wenn Sie Ihre Anwendung zur Verwendung von Client Application-Dienste und Forms-Authentifizierung konfigurieren, können Sie einen Benutzer authentifizieren, durch den Aufruf der static Membership.ValidateUser Methode.When you configure your application to use client application services and forms authentication, you can authenticate a user by calling the static Membership.ValidateUser method. Nach der Authentifizierung können Sie einen Verweis auf die aktuelle abrufen ClientFormsIdentity -Instanz über die Identity Eigenschaft der IPrincipal abrufen, der über die static Thread.CurrentPrincipal Eigenschaft.After authentication, you can retrieve a reference to the current ClientFormsIdentity instance through the Identity property of the IPrincipal retrieved through the static Thread.CurrentPrincipal property. Weitere Informationen finden Sie unter Clientanwendungsdienste.For more information, see Client Application Services.

Greifen Sie in der Regel auf ein ClientFormsIdentity als Objekt ein IIdentity Verweis auf eine direkte Abhängigkeit von dieser Klasse zu vermeiden.You will typically access a ClientFormsIdentity object as an IIdentity reference to avoid a direct dependency on this class. Sie können bestimmen, ob ein Benutzer, indem Sie überprüfen authentifiziert wurde die IIdentity.IsAuthenticated Eigenschaft der Identität.You can determine whether a user is authenticated by checking the IIdentity.IsAuthenticated property of the identity. Der Benutzer kann jedoch für Windows, aber nicht für Clientanwendungsdienste authentifiziert werden.However, the user may be authenticated for Windows, but not for client application services. Um zu bestimmen, ob der Benutzer für Clientanwendungsdienste authentifiziert wurde, Sie sollten auch sicherstellen, dass die IIdentity.AuthenticationType -Eigenschaftswert ist "ClientForms".To determine whether the user is authenticated for client application services, you should also confirm that the IIdentity.AuthenticationType property value is "ClientForms".

Verwenden Sie eine explizite ClientFormsIdentity Verweis auf das Aufrufen der RevalidateUser -Methode, die nicht von definiert wird die IIdentity Schnittstelle.You must use an explicit ClientFormsIdentity reference to call the RevalidateUser method, which is not defined by the IIdentity interface.

Konstruktoren

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

Initialisiert eine neue Instanz der ClientFormsIdentity-Klasse.Initializes a new instance of the ClientFormsIdentity class.

Eigenschaften

AuthenticationCookies AuthenticationCookies AuthenticationCookies AuthenticationCookies

Ruft eine Auflistung von Cookies ab, die vom Authentifizierungsdienst abgerufen wurden.Gets a collection of the cookies retrieved from the authentication service.

AuthenticationType AuthenticationType AuthenticationType AuthenticationType

Ruft den Authentifizierungstyp ab, der zur Authentifizierung des Benutzers verwendet wird.Gets the type of authentication that is used to authenticate the user.

IsAuthenticated IsAuthenticated IsAuthenticated IsAuthenticated

Ruft einen Wert ab, der angibt, ob der Benutzer authentifiziert wurde.Gets a value indicating whether the user has been authenticated.

Name Name Name Name

Ruft den Namen des Benutzers ab.Gets the name of the user.

Provider Provider Provider Provider

Ruft den Mitgliedschaftsanbieter ab, mit dem der Benutzer authentifziert wird.Gets the membership provider that is used to authenticate the user.

Methoden

Dispose() Dispose() Dispose() Dispose()

Gibt alle vom ClientFormsIdentity verwendeten Ressourcen frei.Releases all resources used by the ClientFormsIdentity.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die von ClientFormsIdentity verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the ClientFormsIdentity and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
RevalidateUser() RevalidateUser() RevalidateUser() RevalidateUser()

Authentifiziert den Benutzer automatisch mit zwischengespeicherten Anmeldeinformationen.Silently authenticates the user by using cached credentials.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch