FormsIdentity 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
폼 인증 중에 인증된 사용자 ID를 나타냅니다. 이 클래스는 상속될 수 없습니다.
public ref class FormsIdentity sealed : System::Security::Principal::IIdentity
public ref class FormsIdentity : System::Security::Principal::IIdentity
public ref class FormsIdentity : System::Security::Claims::ClaimsIdentity
[System.Serializable]
public sealed class FormsIdentity : System.Security.Principal.IIdentity
[System.Serializable]
public class FormsIdentity : System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(false)]
public class FormsIdentity : System.Security.Claims.ClaimsIdentity
[<System.Serializable>]
type FormsIdentity = class
interface IIdentity
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type FormsIdentity = class
inherit ClaimsIdentity
Public NotInheritable Class FormsIdentity
Implements IIdentity
Public Class FormsIdentity
Implements IIdentity
Public Class FormsIdentity
Inherits ClaimsIdentity
- 상속
-
FormsIdentity
- 상속
- 특성
- 구현
예제
다음 코드 예제를 생성 FormsAuthenticationTicket 하 고 사용 하 여는 클래스의 FormsIdentity 인스턴스를 만들려면 사용자가 폼에 올바른 사용자 이름 및 암호를 제공 하는지 여부에 따라 합니다.
<%@ Page Language="C#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">
protected void Login_Click(object sender, EventArgs e)
{
bool isAuthenticated = false;
if (string.Compare(UserNameTextBox.Text, "UserName", true,
CultureInfo.InvariantCulture) == 0)
{
if (string.Compare(PasswordTextBox.Text, "Password", true,
CultureInfo.InvariantCulture) == 0)
{
isAuthenticated = true;
}
}
else isAuthenticated = false;
// Create the formsIdentity for the user.
CreateformsIdentity(UserNameTextBox.Text, isAuthenticated);
}
private void CreateformsIdentity(string userName, bool isAuthenticated)
{
FormsIdentity formsID;
FormsAuthenticationTicket authenticationTicket;
if (isAuthenticated)
{
// If authentication passed, create a ticket
// as a Manager that expires in 15 minutes.
authenticationTicket = new FormsAuthenticationTicket(1, userName,
DateTime.Now, DateTime.Now.AddMinutes(15), false, "Manager");
}
else
{
// If authentication failed, create a ticket
// as a guest that expired 5 minutes ago.
authenticationTicket = new FormsAuthenticationTicket(1, userName,
DateTime.Now, DateTime.Now.Subtract(new TimeSpan(0, 5, 0)),
false, "Guest");
}
// Create form identity from FormsAuthenticationTicket.
formsID = new FormsIdentity(authenticationTicket);
Response.Clear();
Response.Write("Authentication Type: " + formsID.AuthenticationType +
"<BR>");
// Get FormsAuthenticationTicket from the FormIdentity
FormsAuthenticationTicket ticket = formsID.Ticket;
if (ticket.Expired)
{
Response.Write("Authentication failed, so the role is set to " +
ticket.UserData);
}
else
{
Response.Write("Authentication succeeded, so the role is set to " +
ticket.UserData);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>WebForm1</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:Label id="UserIdLabel" runat="server"
style="left: 144px; position: absolute; top: 160px">
User-ID:</asp:Label>
<asp:Label id="PasswordLabel" runat="server"
style="left: 144px; position: absolute; top: 200px">
Password:</asp:Label>
<asp:TextBox id="UserNameTextBox" runat="server"
style="left: 232px; position: absolute; top: 160px;
width:182px; height:22px"></asp:TextBox>
<asp:TextBox id="PasswordTextBox" runat="server"
style="left: 232px; position: absolute; top: 200px;
width:181px; height:22px" TextMode="Password">
</asp:TextBox>
<asp:Button id="Login" runat="server" Text="Login"
style="left: 232px; position: absolute; top: 232px;
width:100px" OnClick="Login_Click"></asp:Button>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<script runat="server">
Private Sub Login_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Login.Click
' For the example, the user name must be "UserName" and the password
' must be "Password" for authentication to succeed.
Dim isAuthenticated As Boolean
If String.Compare(UserNameTextBox.Text, "UserName", True, _
CultureInfo.InvariantCulture) = 0 Then
If String.Compare(PasswordTextBox.Text, "Password", True, _
CultureInfo.InvariantCulture) = 0 Then
isAuthenticated = True
End If
Else
isAuthenticated = False
End If
' Create the FormsIdentity for the user.
CreateFormsIdentity(UserNameTextBox.Text, isAuthenticated)
End Sub
Private Sub CreateFormsIdentity(ByVal userName As String, _
ByVal isAuthenticated As Boolean)
Dim formsId As System.Web.Security.FormsIdentity
Dim authenticationTicket As _
System.Web.Security.FormsAuthenticationTicket
If isAuthenticated Then
' If authentication passed, create a ticket
' as a Manager that expires in 15 minutes.
authenticationTicket = _
New FormsAuthenticationTicket(1, userName, DateTime.Now, _
DateTime.Now.AddMinutes(15), False, "Manager")
Else
' If authentication failed, create a ticket
' as a guest that expired 5 minutes ago.
authenticationTicket = _
New FormsAuthenticationTicket(1, userName, DateTime.Now, _
DateTime.Now.Subtract(New TimeSpan(0, 5, 0)), False, "Guest")
End If
' Create form identity from FormsAuthenticationTicket.
formsId = New FormsIdentity(authenticationTicket)
Response.Clear()
Response.Write("Authenticate Type: " & _
formsId.AuthenticationType & "<BR>")
' Get FormsAuthenticationTicket from the FormIdentity
Dim ticket As FormsAuthenticationTicket = formsId.Ticket()
If ticket.Expired Then
Response.Write("Authentication failed, so the role is set to " & _
ticket.UserData)
Else
Response.Write("Authentication succeeded, so the role is set to " & _
ticket.UserData)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>WebForm1</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:Label id="UserIdLabel" runat="server"
style="left: 144px; position: absolute; top: 160px">
User-ID:</asp:Label>
<asp:Label id="PasswordLabel" runat="server"
style="left: 144px; position: absolute; top: 200px">
Password:</asp:Label>
<asp:TextBox id="UserNameTextBox" runat="server"
style="left: 232px; position: absolute; top: 160px;
width:182px; height:22px"></asp:TextBox>
<asp:TextBox id="PasswordTextBox" runat="server"
style="left: 232px; position: absolute; top: 200px;
width:181px; height:22px" TextMode="Password">
</asp:TextBox>
<asp:Button id="Login" runat="server" Text="Login"
style="left: 232px; position: absolute; top: 232px;
width:100px"></asp:Button>
</form>
</body>
</html>
설명
FormsIdentity 클래스는 사용자가 양식 인증으로 인증될 때 에서 사용됩니다FormsAuthenticationModule. 클래스의 FormsIdentity 인스턴스는 양식 인증 쿠키 또는 URL에서 암호 해독되는 를 사용하여 FormsAuthenticationTicket 만들어집니다. 클래스의 FormsIdentity 새 인스턴스는 현재 HttpContext의 속성 값으로 설정된 새 GenericPrincipal 개체를 User 생성하는 데 사용됩니다.
생성자
FormsIdentity(FormsAuthenticationTicket) |
FormsIdentity 클래스의 새 인스턴스를 초기화합니다. |
FormsIdentity(FormsIdentity) |
지정된 ID를 FormsIdentity 클래스의 새 인스턴스를 초기화합니다. |
필드
DefaultIssuer |
기본 발급자인 "로컬 인증 기관"입니다. (다음에서 상속됨 ClaimsIdentity) |
DefaultNameClaimType |
기본 이름 클레임 형식은 Name입니다. (다음에서 상속됨 ClaimsIdentity) |
DefaultRoleClaimType |
기본 역할 클레임 형식은 Role입니다. (다음에서 상속됨 ClaimsIdentity) |
속성
Actor |
위임 권한이 부여된 발신자의 ID를 가져오거나 설정합니다. (다음에서 상속됨 ClaimsIdentity) |
AuthenticationType |
인증된 ID의 형식을 가져옵니다. |
BootstrapContext |
이 클레임 ID를 만드는 데 사용된 토큰을 가져오거나 설정합니다. (다음에서 상속됨 ClaimsIdentity) |
Claims |
이 ID와 연결된 클레임의 컬렉션을 가져옵니다. |
CustomSerializationData |
파생된 형식에서 제공하는 추가 데이터를 포함합니다. 일반적으로 WriteTo(BinaryWriter, Byte[])를 호출할 때 설정합니다. (다음에서 상속됨 ClaimsIdentity) |
IsAuthenticated |
인증되었는지 여부를 나타내는 값을 가져옵니다. |
Label |
이 클레임 ID에 대한 레이블을 가져오거나 설정합니다. (다음에서 상속됨 ClaimsIdentity) |
Name |
폼 ID의 사용자 이름을 가져옵니다. |
NameClaimType |
이 클레임 ID의 Name 속성 값을 제공하는 클레임을 확인하는 데 사용되는 클레임 형식을 가져옵니다. (다음에서 상속됨 ClaimsIdentity) |
RoleClaimType |
이 클레임 ID의 클레임 중에서 .NET 역할로 해석될 클레임 형식을 가져옵니다. (다음에서 상속됨 ClaimsIdentity) |
Ticket |
폼 인증 사용자 ID의 FormsAuthenticationTicket을 가져옵니다. |
메서드
AddClaim(Claim) |
이 클레임 ID에 단일 클레임을 추가합니다. (다음에서 상속됨 ClaimsIdentity) |
AddClaims(IEnumerable<Claim>) |
이 클레임 ID에 클레임 목록을 추가합니다. (다음에서 상속됨 ClaimsIdentity) |
Clone() |
현재 FormsIdentity 인스턴스의 복사본을 가져옵니다. |
CreateClaim(BinaryReader) |
사용자 지정 Claim을 만들 파생된 형식에 대한 확장성 지점을 제공합니다. (다음에서 상속됨 ClaimsIdentity) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
FindAll(Predicate<Claim>) |
지정된 조건자와 일치하는 클레임을 모두 검색합니다. (다음에서 상속됨 ClaimsIdentity) |
FindAll(String) |
지정된 클레임 형식이 있는 클레임을 모두 검색합니다. (다음에서 상속됨 ClaimsIdentity) |
FindFirst(Predicate<Claim>) |
지정된 조건자와 일치하는 첫 번째 클레임을 검색합니다. (다음에서 상속됨 ClaimsIdentity) |
FindFirst(String) |
지정된 클레임 형식으로 첫 번째 클레임을 검색합니다. (다음에서 상속됨 ClaimsIdentity) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
현재 SerializationInfo 개체를 serialize하는 데 필요한 데이터로 ClaimsIdentity를 채웁니다. (다음에서 상속됨 ClaimsIdentity) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
HasClaim(Predicate<Claim>) |
이 클레임에 지정된 조건자와 일치하는 클레임이 있는지 여부를 확인합니다. (다음에서 상속됨 ClaimsIdentity) |
HasClaim(String, String) |
이 클레임 ID에 지정된 클레임 형식 및 값을 가진 클레임이 있는지 여부를 확인합니다. (다음에서 상속됨 ClaimsIdentity) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
RemoveClaim(Claim) |
클레임 ID에서 클레임을 제거하려고 시도합니다. (다음에서 상속됨 ClaimsIdentity) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
TryRemoveClaim(Claim) |
클레임 ID에서 클레임을 제거하려고 시도합니다. (다음에서 상속됨 ClaimsIdentity) |
WriteTo(BinaryWriter, Byte[]) |
BinaryWriter를 사용하여 직렬화합니다. (다음에서 상속됨 ClaimsIdentity) |
WriteTo(BinaryWriter) |
BinaryWriter를 사용하여 직렬화합니다. (다음에서 상속됨 ClaimsIdentity) |
적용 대상
추가 정보
.NET