ClientFormsIdentity.RevalidateUser Metoda

Definice

Bezobslužné ověřování uživatele pomocí přihlašovacích údajů uložených v mezipaměti.

public:
 void RevalidateUser();
public void RevalidateUser();
member this.RevalidateUser : unit -> unit
Public Sub RevalidateUser ()

Příklady

Následující příklad kódu ukazuje, jak použít tuto metodu k tichému obnovení uživatele, když aplikace opustí stav offline. V tomto příkladu obslužná rutina CheckedChanged události aktualizuje stav offline tak, aby odpovídala hodnotě zaškrtávacího políčka. Pokud uživatel nastaví aplikaci do online stavu, obslužná rutina události se pokusí uživatele znovu obnovit. Pokud však ověřovací server není k dispozici, obslužná rutina události vrátí aplikaci do offline stavu.

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

Poznámky

Pokud k ověření aktuálního uživatele použijete ověřování pomocí formulářů, třída uloží přihlašovací údaje uživatele, ClientFormsIdentity pokud je aplikace spuštěná. Uživatel se ale ověřuje pouze do vypršení platnosti ověřovacího souboru cookie. Po vypršení platnosti souboru cookie musí být uživatel znovu revalidovaný, aby měl přístup ke vzdáleným rolím nebo službám nastavení webu. Pomocí dialogového okna Upřesnit nastavení pro služby můžete aplikaci nakonfigurovat tak, aby automaticky znovu aktualizovala uživatele. Pokud ale nakonfigurujete aplikaci tak, aby respektovali vypršení platnosti souborů cookie, můžete uživatele programově znovu obnovit voláním RevalidateUser metody. Tato metoda je také užitečná při přepínání z offline režimu do režimu online, protože aplikace byla pravděpodobně vypnuta v offline režimu.

Note

Tato RevalidateUser metoda je určena pouze pro usnadnění. Vzhledem k tomu, že nemá návratovou hodnotu, nemůže ukazovat, jestli se obnovení nepodařilo. Opětovné ověření může selhat, například pokud se přihlašovací údaje uživatele na serveru změnily. V takovém případě můžete chtít zahrnout kód, který explicitně ověřuje uživatele po selhání volání služby. Další informace naleznete v části Přístup k webovému nastavení v návodu: Použití klientských aplikačních služeb.

Platí pro

Viz také