ClientFormsIdentity Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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, bir CheckedChanged olay işleyicisi çevrimdışı durumu 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ı gösteremez. Ö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 ve form kimlik doğrulamasını kullanacak ş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 alınan özelliğini kullanarak geçerli ClientFormsIdentity örneğe başvuru alabilirsiniz.Thread.CurrentPrincipalstaticIdentityIPrincipal 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ğrulanamaz. 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
| Name | Description |
|---|---|
| ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) |
ClientFormsIdentity sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| Dispose() |
tarafından ClientFormsIdentitykullanılan tüm kaynakları serbest bırakır. |
| Dispose(Boolean) |
tarafından ClientFormsIdentity kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit 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 bir dize döndürür. (Devralındığı yer: Object) |