ClientFormsIdentity.RevalidateUser Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Bezobslužné ověření 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 opětovnému ověření uživatele, když aplikace opustí stav offline. V tomto příkladu obslužná CheckedChanged rutina události aktualizuje stav offline tak, aby odpovídal hodnotě zaškrtávacího políčka. Pokud uživatel nastaví aplikaci do stavu online, obslužná rutina události se pokusí uživatele znovu otestovat. Pokud je však ověřovací server nedostupný, 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ářů, ClientFormsIdentity třída uloží přihlašovací údaje uživatele, pokud je aplikace spuštěná. Uživatel je však ověřen pouze do vypršení platnosti ověřovacího souboru cookie. Po vypršení platnosti souboru cookie musí být uživatel znovu ověřovaný, aby měl přístup ke vzdáleným rolím nebo službám nastavení webu. Pomocí dialogového okna Upřesnit nastavení služeb můžete nakonfigurovat aplikaci tak, aby automaticky znovu ověřovali uživatele. Pokud ale nakonfigurujete aplikaci tak, aby se dodržela vypršení platnosti souboru cookie, můžete uživatele programově znovu ověnčit voláním metody .RevalidateUser Tato metoda je také užitečná při přepnutí z offline režimu do online režimu, protože aplikace může být vypnuta v offline režimu.
Poznámka
Metoda je určena RevalidateUser pouze pro usnadnění. Vzhledem k tomu, že nemá návratovou hodnotu, nemůže označit, jestli se ověření nezdařilo. Ověření může selhat, například pokud se na serveru změnily přihlašovací údaje uživatele. V takovém případě můžete chtít zahrnout kód, který explicitně ověří uživatele po selhání volání služby. Další informace najdete v části Přístup k nastavení webu v návodu: Používání klientských aplikačních služeb.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro