RolePrincipal.IsRoleListCached Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si la lista de roles para el usuario se ha almacenado en una cookie.
public:
property bool IsRoleListCached { bool get(); };
public bool IsRoleListCached { get; }
member this.IsRoleListCached : bool
Public ReadOnly Property IsRoleListCached As Boolean
Valor de propiedad
Es true
si los nombres de rol están almacenados en una cookie; de lo contrario, es false
.
Ejemplos
En el ejemplo siguiente se muestra información de almacenamiento en caché de roles para el usuario actual si está habilitada la administración de roles. Para obtener información sobre cómo habilitar la administración de roles, consulte la Roles clase .
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Page_Load()
{
try
{
RolePrincipal r = (RolePrincipal)User;
IsCachedLabel.Text = r.IsRoleListCached.ToString();
CacheChangedLabel.Text = r.CachedListChanged.ToString();
ExpiredLabel.Text = r.Expired.ToString();
VersionLabel.Text = r.Version.ToString();
IssueDateLabel.Text = r.IssueDate.ToString();
ExpireDateLabel.Text = r.ExpireDate.ToString();
CookiePathLabel.Text = r.CookiePath;
Msg.Text = "";
}
catch (InvalidCastException)
{
Msg.Text = "User is not of type RolePrincipal. Are roles enabled?";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Role Information</title>
</head>
<body>
<form id="form1" runat="server">
Role Information for <b><%=User.Identity.Name%></b>.<br />
<asp:Label id="Msg" runat="Server" ForeColor="maroon" /><br />
<table border="1" cellpadding="4" cellspacing="4">
<tr>
<td>IsRoleListCached</td>
<td><asp:Label id="IsCachedLabel" runat="Server" /></td>
</tr>
<tr>
<td>CachedListChanged</td>
<td><asp:Label id="CacheChangedLabel" runat="Server" /></td>
</tr>
<tr>
<td>Expired</td>
<td><asp:Label id="ExpiredLabel" runat="Server" /></td>
</tr>
<tr>
<td>Version</td>
<td><asp:Label id="VersionLabel" runat="Server" /></td>
</tr>
<tr>
<td>IssueDate</td>
<td><asp:Label id="IssueDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>ExpireDate</td>
<td><asp:Label id="ExpireDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>CookiePath</td>
<td><asp:Label id="CookiePathLabel" runat="Server" /></td>
</tr>
</table>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Page_Load()
Try
Dim r As RolePrincipal = CType(User, RolePrincipal)
IsCachedLabel.Text = r.IsRoleListCached.ToString()
CacheChangedLabel.Text = r.CachedListChanged.ToString()
ExpiredLabel.Text = r.Expired.ToString()
VersionLabel.Text = r.Version.ToString()
IssueDateLabel.Text = r.IssueDate.ToString()
ExpireDateLabel.Text = r.ExpireDate.ToString()
CookiePathLabel.Text = r.CookiePath
Msg.Text = ""
Catch e As InvalidCastException
Msg.Text = "User is not of type RolePrincipal. Are roles enabled?"
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Role Information</title>
</head>
<body>
<form id="form1" runat="server">
Role Information for <b><%=User.Identity.Name%></b>.<br />
<asp:Label id="Msg" runat="Server" ForeColor="maroon" /><br />
<table border="1" cellpadding="4" cellspacing="4">
<tr>
<td>IsRoleListCached</td>
<td><asp:Label id="IsCachedLabel" runat="Server" /></td>
</tr>
<tr>
<td>CachedListChanged</td>
<td><asp:Label id="CacheChangedLabel" runat="Server" /></td>
</tr>
<tr>
<td>Expired</td>
<td><asp:Label id="ExpiredLabel" runat="Server" /></td>
</tr>
<tr>
<td>Version</td>
<td><asp:Label id="VersionLabel" runat="Server" /></td>
</tr>
<tr>
<td>IssueDate</td>
<td><asp:Label id="IssueDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>ExpireDate</td>
<td><asp:Label id="ExpireDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>CookiePath</td>
<td><asp:Label id="CookiePathLabel" runat="Server" /></td>
</tr>
</table>
</form>
</body>
</html>
Comentarios
Si el cacheRolesInCookie
atributo del archivo Web.config de la aplicación se establece true
en , se escribe una lista de nombres de rol para el usuario actual en una cookie cuando se comprueba la pertenencia a un rol determinado. La IsRoleListCached propiedad indica si los nombres de rol se han escrito en la cookie. Tenga en cuenta que, aunque el cacheRolesInCookie
atributo de configuración puede ser true
, la IsRoleListCached propiedad no devuelve true
hasta después de escribir la información del rol en la cookie. Si no se realizan comprobaciones de roles para un usuario, IsRoleListCached devolverá false
.