ClientFormsAuthenticationMembershipProvider.Logout Метод

Определение

Выполняет выход пользователя из системы.

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

Исключения

Значение свойства IsOffline равно false, и поставщик членства не может получить доступ к службе проверки подлинности.

Примеры

В следующем примере кода показано, как использовать этот метод для выхода пользователя из системы.

private void logoutButton_Click(object sender, EventArgs e)
{
    SaveSettings();

    ClientFormsAuthenticationMembershipProvider authProvider =
        (ClientFormsAuthenticationMembershipProvider)
        System.Web.Security.Membership.Provider;

    try
    {
        authProvider.Logout();
    }
    catch (WebException)
    {
        MessageBox.Show("Unable to access the authentication service." +
            Environment.NewLine + "Logging off locally only.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        ConnectivityStatus.IsOffline = true;
        authProvider.Logout();
        ConnectivityStatus.IsOffline = false;
    }

    Application.Restart();
}
Private Sub logoutButton_Click(ByVal sender As Object, _
    ByVal e As EventArgs) Handles logoutButton.Click

    SaveSettings()

    Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
        CType(System.Web.Security.Membership.Provider,  _
        ClientFormsAuthenticationMembershipProvider)

    Try

        authProvider.Logout()

    Catch ex As WebException

        MessageBox.Show("Unable to access the authentication service." & _
            Environment.NewLine & "Logging off locally only.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        ConnectivityStatus.IsOffline = True
        authProvider.Logout()
        ConnectivityStatus.IsOffline = False

    End Try

    Application.Restart()

End Sub

Комментарии

Метод Logout очищает все файлы cookie проверки подлинности из кэша файлов cookie и сбрасывает staticThread.CurrentPrincipal свойство в WindowsPrincipal объект , содержащий текущий WindowsIdentity.

После вызова этого метода текущий пользователь больше не проходит проверку подлинности для служб клиентских приложений. Это означает, что роли нельзя получить с помощью ClientRoleProvider класса , а параметры — через ClientSettingsProvider класс . Однако, поскольку у пользователя может быть допустимое удостоверение Windows, вы по-прежнему true можете получить значение из кода, например: Thread.CurrentPrincipal.Identity.IsAuthenticated. Чтобы определить, прошел ли пользователь проверку подлинности для служб клиентских приложений, убедитесь, что Identity значение свойства , полученное IPrincipal с помощью staticCurrentPrincipal свойства , является ссылкой ClientFormsIdentity . Затем проверьте ClientFormsIdentity.IsAuthenticated свойство .

Чтобы повторно пройти проверку подлинности текущего пользователя, вызовите ClientFormsAuthenticationMembershipProvider.ValidateUser метод или staticMembership.ValidateUser метод .

Применяется к

См. также раздел