ClientFormsIdentity Sınıf

Tanım

Form kimlik doğrulaması kullanılarak istemci uygulama hizmetleri için kimliği doğrulanmış bir kullanıcı kimliğini temsil eder.

public ref class ClientFormsIdentity : IDisposable, System::Security::Principal::IIdentity
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
type ClientFormsIdentity = class
    interface IIdentity
    interface IDisposable
Public Class ClientFormsIdentity
Implements IDisposable, IIdentity
Devralma
ClientFormsIdentity
Uygulamalar

Örnekler

Aşağıdaki örnek kod, uygulama çevrimdışı durumdan çıktığında bir kullanıcıyı sessizce yeniden doğrulamak için bu sınıfın nasıl kullanılacağını gösterir. Bu örnekte, olay CheckedChanged işleyicisi çevrimdışı durumunu onay kutusu değeriyle eşleşecek şekilde güncelleştirir. Kullanıcı uygulamayı çevrimiçi duruma ayarlarsa, olay işleyicisi yöntemini çağırarak kullanıcıyı yeniden doğrulamayı RevalidateUser dener. Ancak, kimlik doğrulama sunucusu kullanılamıyorsa, olay işleyicisi uygulamayı çevrimdışı duruma döndürür.

Not

RevalidateUser yöntemi yalnızca kolaylık sağlamak içindir. Dönüş değeri olmadığından, yeniden doğrulamanın başarısız olup olmadığını belirtemez. Örneğin sunucuda kullanıcı kimlik bilgileri değiştiyse yeniden doğrulama başarısız olabilir. Bu durumda, bir hizmet çağrısı başarısız olduktan sonra kullanıcıları açıkça doğrulayan kod eklemek isteyebilirsiniz. Daha fazla bilgi için İzlenecek Yol: İstemci Uygulama Hizmetlerini Kullanma bölümündeki Web Ayarlarına Erişme bölümüne bakın.

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

Açıklamalar

İstemci uygulama hizmetleri özelliği, kimliği doğrulanmış bir kullanıcıyı temsil etmek için bu sınıfı kullanır. Uygulamanızı istemci uygulama hizmetlerini kullanacak ve kimlik doğrulamasını oluşturacak şekilde yapılandırdığınızda, yöntemini çağırarak staticMembership.ValidateUser bir kullanıcının kimliğini doğrulayabilirsiniz. Kimlik doğrulamasından sonra, özelliği aracılığıyla staticThread.CurrentPrincipal alınan özelliğini IPrincipal kullanarak Identity geçerli ClientFormsIdentity örneğe bir başvuru alabilirsiniz. Daha fazla bilgi için bkz. İstemci Uygulama Hizmetleri.

Bu sınıfa doğrudan bağımlılıktan kaçınmak için genellikle bir nesneye başvuru olarak IIdentity erişebilirsinizClientFormsIdentity. Kimliğin özelliğini denetleyerek kullanıcının kimliğinin IIdentity.IsAuthenticated doğrulanıp doğrulanmamış olduğunu belirleyebilirsiniz. Ancak kullanıcının kimliği Windows için doğrulanabilir ancak istemci uygulama hizmetleri için doğrulanmaz. Kullanıcının istemci uygulama hizmetleri için kimliğinin doğrulanıp doğrulanmadığını belirlemek için özellik değerinin IIdentity.AuthenticationType "ClientForms" olduğunu da onaylamanız gerekir.

arabirimi tarafından IIdentity tanımlanmayan RevalidateUser yöntemini çağırmak için açık ClientFormsIdentity bir başvuru kullanmanız gerekir.

Oluşturucular

ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer)

ClientFormsIdentity sınıfının yeni bir örneğini başlatır.

Özellikler

AuthenticationCookies

Kimlik doğrulama hizmetinden alınan tanımlama bilgilerinin bir koleksiyonunu alır.

AuthenticationType

Kullanıcının kimliğini doğrulamak için kullanılan kimlik doğrulama türünü alır.

IsAuthenticated

Kullanıcının kimliğinin doğrulanıp doğrulanmadığını belirten bir değer alır.

Name

Kullanıcının adını alır.

Provider

Kullanıcının kimliğini doğrulamak için kullanılan üyelik sağlayıcısını alır.

Yöntemler

Dispose()

ClientFormsIdentity tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

ClientFormsIdentity tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
RevalidateUser()

Önbelleğe alınmış kimlik bilgilerini kullanarak kullanıcının kimliğini sessizce doğrular.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.