ClientFormsIdentity 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
양식 인증을 사용하여 클라이언트 애플리케이션 서비스에 대해 인증된 사용자 ID를 나타냅니다.
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
- 상속
-
ClientFormsIdentity
- 구현
예제
다음 예제 코드는 애플리케이션이 오프라인 상태를 떠날 때 이 클래스를 사용하여 자동으로 사용자의 유효성을 다시 검사하는 방법을 보여 줍니다. 이 예제에서 CheckedChanged 이벤트 처리기는 확인란 값과 일치하도록 오프라인 상태를 업데이트합니다. 사용자가 애플리케이션을 온라인 상태로 설정하면 이벤트 처리기가 RevalidateUser 메서드를 호출하여 사용자의 유효성을 다시 검사하려고 시도합니다. 그러나 인증 서버를 사용할 수 없는 경우 이벤트 처리기는 애플리케이션을 오프라인 상태로 반환합니다.
메모
RevalidateUser 메서드는 편의를 위해서만 사용됩니다. 반환 값이 없으므로 유효성 재검사에 실패했는지 여부를 나타낼 수 없습니다. 예를 들어 서버에서 사용자 자격 증명이 변경된 경우 유효성 재검사에 실패할 수 있습니다. 이 경우 서비스 호출이 실패한 후 사용자의 유효성을 명시적으로 검사하는 코드를 포함할 수 있습니다. 자세한 내용은 연습: 클라이언트 애플리케이션 서비스사용의 웹 설정 액세스 섹션을 참조하세요.
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
설명
클라이언트 애플리케이션 서비스 기능은 이 클래스를 사용하여 인증된 사용자를 나타냅니다. 클라이언트 애플리케이션 서비스 및 양식 인증을 사용하도록 애플리케이션을 구성하는 경우 staticMembership.ValidateUser 메서드를 호출하여 사용자를 인증할 수 있습니다. 인증 후에는 staticThread.CurrentPrincipal 속성을 통해 검색된 IPrincipalIdentity 속성을 통해 현재 ClientFormsIdentity 인스턴스에 대한 참조를 검색할 수 있습니다. 자세한 내용은 클라이언트 애플리케이션 서비스
일반적으로 이 클래스에 대한 직접 종속성을 방지하기 위해 IIdentity 참조로 ClientFormsIdentity 개체에 액세스합니다. ID의 IIdentity.IsAuthenticated 속성을 확인하여 사용자가 인증되는지 여부를 확인할 수 있습니다. 그러나 사용자는 Windows에 대해 인증될 수 있지만 클라이언트 애플리케이션 서비스에 대해서는 인증되지 않을 수 있습니다. 사용자가 클라이언트 애플리케이션 서비스에 대해 인증되었는지 여부를 확인하려면 IIdentity.AuthenticationType 속성 값이 "ClientForms"인지도 확인해야 합니다.
명시적 ClientFormsIdentity 참조를 사용하여 IIdentity 인터페이스에서 정의되지 않은 RevalidateUser 메서드를 호출해야 합니다.
생성자
| ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) |
ClientFormsIdentity 클래스의 새 인스턴스를 초기화합니다. |
속성
| AuthenticationCookies |
인증 서비스에서 검색된 쿠키의 컬렉션을 가져옵니다. |
| AuthenticationType |
사용자를 인증하는 데 사용되는 인증 유형을 가져옵니다. |
| IsAuthenticated |
사용자가 인증되었는지 여부를 나타내는 값을 가져옵니다. |
| Name |
사용자의 이름을 가져옵니다. |
| Provider |
사용자를 인증하는 데 사용되는 멤버 자격 공급자를 가져옵니다. |
메서드
| Dispose() |
ClientFormsIdentity사용하는 모든 리소스를 해제합니다. |
| Dispose(Boolean) |
ClientFormsIdentity 사용하는 관리되지 않는 리소스를 해제하고 필요에 따라 관리되는 리소스를 해제합니다. |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| RevalidateUser() |
캐시된 자격 증명을 사용하여 사용자를 자동으로 인증합니다. |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |