ClientFormsIdentity Klasse

Definition

Stellt eine Benutzeridentität dar, die mit der Formularauthentifizierung für Clientanwendungsdienste authentifiziert wurde.

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

Der folgende Beispielcode veranschaulicht, wie diese Klasse verwendet wird, um einen Benutzer automatisch erneut zu überprüfen, wenn die Anwendung den Offlinezustand verlässt. In diesem Beispiel aktualisiert ein CheckedChanged Ereignishandler die Offline-status so, dass sie dem Kontrollkästchenwert entspricht. Wenn der Benutzer die Anwendung auf den Onlinezustand festlegt, versucht der Ereignishandler, den Benutzer durch Aufrufen der RevalidateUser -Methode erneut zu überprüfen. Wenn der Authentifizierungsserver jedoch nicht verfügbar ist, gibt der Ereignishandler die Anwendung in den Offlinezustand zurück.

Hinweis

Die RevalidateUser -Methode wird nur ergänzend bereitgestellt. Da sie nicht über einen Rückgabewert verfügt, kann sie nicht angeben, ob die erneute Überprüfung fehlgeschlagen ist. Die erneute Überprüfung kann z. B. fehlschlagen, wenn die Anmeldeinformationen des Benutzers auf dem Server geändert wurden. In diesem Fall ist es ratsam, Code einzuschließen, der die Benutzer nach dem Fehlschlagen eines Dienstaufrufs explizit validiert. Weitere Informationen finden Sie im Abschnitt Zugreifen auf Webeinstellungen unter Exemplarische Vorgehensweise: Verwenden von Clientanwendungsdiensten.

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, 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 instance über die Identity -Eigenschaft des IPrincipal abrufenden -staticThread.CurrentPrincipalObjekts abrufen. Weitere Informationen finden Sie unter Clientanwendungsdienste.

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

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

Konstruktoren

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

Initialisiert eine neue Instanz der ClientFormsIdentity-Klasse.

Eigenschaften

AuthenticationCookies

Ruft eine Auflistung von Cookies ab, die vom Authentifizierungsdienst abgerufen wurden.

AuthenticationType

Ruft den Authentifizierungstyp ab, der zur Authentifizierung 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, mit dem der Benutzer authentifziert wird.

Methoden

Dispose()

Gibt alle vom ClientFormsIdentity verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von ClientFormsIdentity verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RevalidateUser()

Authentifiziert den Benutzer automatisch mit zwischengespeicherten Anmeldeinformationen.

ToString()

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

(Geerbt von Object)

Gilt für:

Weitere Informationen