FormsIdentity Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Űrlaphitelesítéssel hitelesített felhasználói identitást jelöl. Ez az osztály nem örökölhető.
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
- Öröklődés
-
FormsIdentity
- Öröklődés
- Attribútumok
- Megvalósítás
Példák
Az alábbi példakód létrehoz egy FormsAuthenticationTicket , majd az osztály egy példányát FormsIdentity annak alapján, hogy a felhasználó megadja-e a megfelelő felhasználónevet és jelszót az űrlapon.
<%@ 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>
Megjegyzések
Az FormsIdentity osztályt az FormsAuthenticationModule a felhasználó használja, aki űrlaphitelesítéssel hitelesíti a felhasználót. Az osztály egy példánya az FormsIdentityFormsAuthenticationTicket űrlap-hitelesítési cookie-ból vagy az URL-címről visszafejtett használatával jön létre. Az osztály új példánya FormsIdentity egy új GenericPrincipal objektum létrehozására szolgál, amely az User aktuális HttpContexttulajdonság értékeként van beállítva.
Konstruktorok
| Name | Description |
|---|---|
| FormsIdentity(FormsAuthenticationTicket) |
Inicializálja a FormsIdentity osztály új példányát. |
| FormsIdentity(FormsIdentity) |
Inicializálja az FormsIdentity osztály új példányát a megadott identitás alapján. |
Mezők
| Name | Description |
|---|---|
| DefaultIssuer |
Az alapértelmezett kiállító; "HELYI ÖNKORMÁNYZAT". (Öröklődés forrása ClaimsIdentity) |
| DefaultNameClaimType |
Az alapértelmezett név jogcímtípusa; Name. (Öröklődés forrása ClaimsIdentity) |
| DefaultRoleClaimType |
Az alapértelmezett szerepkör jogcímtípusa; Role. (Öröklődés forrása ClaimsIdentity) |
Tulajdonságok
| Name | Description |
|---|---|
| Actor |
Lekéri vagy beállítja a delegálási jogosultságot kapott hívó fél identitását. (Öröklődés forrása ClaimsIdentity) |
| AuthenticationType |
Lekéri a hitelesített identitás típusát. |
| BootstrapContext |
Lekéri vagy beállítja a jogcím-identitás létrehozásához használt jogkivonatot. (Öröklődés forrása ClaimsIdentity) |
| Claims |
Lekéri az identitáshoz társított jogcímek gyűjteményét. |
| CustomSerializationData |
Származtatott típus által biztosított további adatokat tartalmaz. Híváskor WriteTo(BinaryWriter, Byte[])általában be van állítva. (Öröklődés forrása ClaimsIdentity) |
| IsAuthenticated |
Olyan értéket kap, amely jelzi, hogy megtörtént-e a hitelesítés. |
| Label |
Lekéri vagy beállítja a jogcím-identitás címkéjét. (Öröklődés forrása ClaimsIdentity) |
| Name |
Lekéri az űrlap-identitás felhasználónevét. |
| NameClaimType |
Lekéri azt a jogcímtípust, amely annak meghatározására szolgál, hogy mely jogcímek adják meg a Name jogcím-identitás tulajdonságának értékét. (Öröklődés forrása ClaimsIdentity) |
| RoleClaimType |
Lekéri azt a jogcímtípust, amely .NET szerepkörként lesz értelmezve a jogcím-identitásban lévő jogcímek között. (Öröklődés forrása ClaimsIdentity) |
| Ticket |
Lekéri az FormsAuthenticationTicket űrlaphitelesítő felhasználói identitást. |
Metódusok
| Name | Description |
|---|---|
| AddClaim(Claim) |
Egyetlen jogcímet ad hozzá ehhez a jogcím-identitáshoz. (Öröklődés forrása ClaimsIdentity) |
| AddClaims(IEnumerable<Claim>) |
Hozzáadja a jogcímek listáját ehhez a jogcím-identitáshoz. (Öröklődés forrása ClaimsIdentity) |
| Clone() |
Lekéri az aktuális FormsIdentity példány másolatát. |
| CreateClaim(BinaryReader) |
Bővíthetőségi pontot biztosít a származtatott típusok számára az egyéni Claimlétrehozáshoz. (Öröklődés forrása ClaimsIdentity) |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| FindAll(Predicate<Claim>) |
Lekéri a megadott predikátum által egyeztetett összes jogcímet. (Öröklődés forrása ClaimsIdentity) |
| FindAll(String) |
Lekéri a megadott jogcímtípussal rendelkező összes jogcímet. (Öröklődés forrása ClaimsIdentity) |
| FindFirst(Predicate<Claim>) |
Lekéri a megadott predikátum által egyeztetett első jogcímet. (Öröklődés forrása ClaimsIdentity) |
| FindFirst(String) |
Lekéri az első jogcímet a megadott jogcímtípussal. (Öröklődés forrása ClaimsIdentity) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Kitölti az SerializationInfo aktuális ClaimsIdentity objektum szerializálásához szükséges adatokat. (Öröklődés forrása ClaimsIdentity) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| HasClaim(Predicate<Claim>) |
Meghatározza, hogy ennek a jogcím-identitásnak van-e olyan jogcíme, amely megfelel a megadott predikátumnak. (Öröklődés forrása ClaimsIdentity) |
| HasClaim(String, String) |
Meghatározza, hogy a jogcím-identitás rendelkezik-e a megadott jogcímtípussal és értékkel rendelkező jogcímekkel. (Öröklődés forrása ClaimsIdentity) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| RemoveClaim(Claim) |
Megpróbál eltávolítani egy jogcímet a jogcím-identitásból. (Öröklődés forrása ClaimsIdentity) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| TryRemoveClaim(Claim) |
Megpróbál eltávolítani egy jogcímet a jogcím-identitásból. (Öröklődés forrása ClaimsIdentity) |
| WriteTo(BinaryWriter, Byte[]) |
Szerializálja egy BinaryWriter. (Öröklődés forrása ClaimsIdentity) |
| WriteTo(BinaryWriter) |
Szerializálja egy BinaryWriter. (Öröklődés forrása ClaimsIdentity) |