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 и сбрасывает static
Thread.CurrentPrincipal свойство в WindowsPrincipal объект , содержащий текущий WindowsIdentity.
После вызова этого метода текущий пользователь больше не проходит проверку подлинности для служб клиентских приложений. Это означает, что роли нельзя получить с помощью ClientRoleProvider класса , а параметры — через ClientSettingsProvider класс . Однако, поскольку у пользователя может быть допустимое удостоверение Windows, вы по-прежнему true
можете получить значение из кода, например: Thread.CurrentPrincipal.Identity.IsAuthenticated
. Чтобы определить, прошел ли пользователь проверку подлинности для служб клиентских приложений, убедитесь, что Identity значение свойства , полученное IPrincipal с помощью static
CurrentPrincipal свойства , является ссылкой ClientFormsIdentity . Затем проверьте ClientFormsIdentity.IsAuthenticated свойство .
Чтобы повторно пройти проверку подлинности текущего пользователя, вызовите ClientFormsAuthenticationMembershipProvider.ValidateUser метод или static
Membership.ValidateUser метод .
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по