ClientFormsIdentity Klass

Definition

Representerar en användaridentitet som autentiseras för klientprogramtjänster med hjälp av formulärautentisering.

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
Arv
ClientFormsIdentity
Implementeringar

Exempel

Följande exempelkod visar hur du använder den här klassen för att tyst förnya en användare när programmet lämnar offlinetillståndet. I det här exemplet uppdaterar en CheckedChanged händelsehanterare offlinestatusen så att den matchar kryssrutans värde. Om användaren ställer in programmet på onlinetillståndet försöker händelsehanteraren återvalidera användaren genom att anropa RevalidateUser metoden. Men om autentiseringsservern inte är tillgänglig returnerar händelsehanteraren programmet till offlinetillståndet.

Note

Metoden RevalidateUser är endast för enkelhetens skull. Eftersom det inte har något returvärde kan det inte ange om förlängningen har misslyckats. Omvalidering kan till exempel misslyckas om användarautentiseringsuppgifterna har ändrats på servern. I det här fallet kanske du vill inkludera kod som uttryckligen validerar användare när ett tjänstanrop misslyckas. Mer information finns i avsnittet Åtkomst till webbinställningar i Genomgång: Använda klientprogramtjänster.

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

Kommentarer

Funktionen för klientprogramtjänster använder den här klassen för att representera en autentiserad användare. När du konfigurerar programmet att använda klientprogramtjänster och formulärautentisering kan du autentisera staticMembership.ValidateUser en användare genom att anropa metoden. Efter autentiseringen kan du hämta en referens till den aktuella ClientFormsIdentity instansen Identity via egenskapen för den IPrincipal som hämtats via staticThread.CurrentPrincipal egenskapen. Mer information finns i Klientprogramtjänster.

Du kommer vanligtvis åt ett ClientFormsIdentity objekt som en IIdentity referens för att undvika ett direkt beroende av den här klassen. Du kan avgöra om en användare autentiseras IIdentity.IsAuthenticated genom att kontrollera identitetens egenskap. Användaren kan dock autentiseras för Windows, men inte för klientprogramtjänster. För att avgöra om användaren autentiseras för klientprogramtjänster bör du även bekräfta att IIdentity.AuthenticationType egenskapsvärdet är "ClientForms".

Du måste använda en explicit ClientFormsIdentity referens för att anropa RevalidateUser metoden, som inte definieras av IIdentity gränssnittet.

Konstruktorer

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

Initierar en ny instans av ClientFormsIdentity klassen.

Egenskaper

Name Description
AuthenticationCookies

Hämtar en samling cookies som hämtats från autentiseringstjänsten.

AuthenticationType

Hämtar den typ av autentisering som används för att autentisera användaren.

IsAuthenticated

Hämtar ett värde som anger om användaren har autentiserats.

Name

Hämtar användarens namn.

Provider

Hämtar den medlemskapsprovider som används för att autentisera användaren.

Metoder

Name Description
Dispose()

Släpper alla resurser som används av ClientFormsIdentity.

Dispose(Boolean)

Släpper de ohanterade resurser som används av ClientFormsIdentity och släpper eventuellt de hanterade resurserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RevalidateUser()

Autentiserar användaren tyst med cachelagrade autentiseringsuppgifter.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även