ClientFormsIdentity.RevalidateUser Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Verifieert de gebruiker op de achtergrond met behulp van referenties in de cache.
public:
void RevalidateUser();
public void RevalidateUser();
member this.RevalidateUser : unit -> unit
Public Sub RevalidateUser ()
Voorbeelden
In de volgende voorbeeldcode ziet u hoe u deze methode gebruikt om een gebruiker op de achtergrond opnieuw tevalideren wanneer de toepassing de offlinestatus verlaat. In dit voorbeeld werkt een CheckedChanged gebeurtenishandler de offlinestatus bij zodat deze overeenkomt met de waarde van het selectievakje. Als de gebruiker de toepassing instelt op de onlinestatus, probeert de gebeurtenishandler de gebruiker opnieuw tevalideren. Als de verificatieserver echter niet beschikbaar is, retourneert de gebeurtenis-handler de toepassing naar de offlinestatus.
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
Opmerkingen
Wanneer u formulierverificatie gebruikt om de huidige gebruiker te valideren, slaat de ClientFormsIdentity klasse de gebruikersreferenties op zolang de toepassing wordt uitgevoerd. De gebruiker wordt echter alleen geverifieerd totdat de verificatiecookis verloopt. Nadat de cookie is verlopen, moet de gebruiker opnieuw worden gevalideerd voor toegang tot de externe rollen of webinstellingenservices. U kunt het dialoogvenster Geavanceerde instellingen voor services gebruiken om uw toepassing zo te configureren dat de gebruiker automatisch opnieuw wordt gevalideerd. Als u uw toepassing echter zo configureert dat de cookie verloopt, kunt u de gebruiker programmatisch opnieuwvalideren door de methode aan te RevalidateUser roepen. Deze methode is ook handig bij het overschakelen van de offlinemodus naar de onlinemodus, omdat de toepassing mogelijk offline is uitgeschakeld.
Note
De RevalidateUser methode is alleen voor het gemak. Omdat deze geen retourwaarde heeft, kan er niet worden aangegeven of de hervalidatie is mislukt. De hervalidatie kan bijvoorbeeld mislukken als de gebruikersreferenties op de server zijn gewijzigd. In dit geval wilt u mogelijk code opnemen waarmee gebruikers expliciet worden gevalideerd nadat een serviceaanroep is mislukt. Zie de sectie Webinstellingen openen in Walkthrough: Client Application Services gebruiken voor meer informatie.