FormsAuthentication
FormsAuthentication 构造函数 | 初始化 FormsAuthentication 类的新实例。 |
公共属性
FormsCookieName | 返回用于当前应用程序的已配置 Cookie 名称。 |
FormsCookiePath | 返回用于当前应用程序的已配置 Cookie 路径。 |
RequireSSL | 获取一个值,它指示是否必须在安全连接上传输 cookie。 |
SlidingExpiration | 获取一个值,它指示是否启用可调过期。 |
公共方法
Authenticate | 给定所提供的凭据,尝试根据包含在已配置凭据存储区中的凭据对凭据进行验证。 |
Decrypt | 返回 FormsAuthenticationTicket 类的一个实例,给定从 HTTP cookie 获取的有效加密身份验证票。 |
Encrypt | 给定 FormsAuthenticationTicket,产生一个包含适用于 HTTP Cookie 的加密身份验证票的字符串。 |
Equals(从Object 继承) | 已重载。确定两个 Object 实例是否相等。 |
GetAuthCookie | 已重载。为给定的用户名创建身份验证 Cookie。 |
GetHashCode(从Object 继承) | 用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。 |
GetRedirectUrl | 返回导致重定向到登录页的原始请求的重定向 URL。 |
GetType(从Object 继承) | 获取当前实例的 Type。 |
HashPasswordForStoringInConfigFile | 给定标识哈希类型的密码和字符串,该例程产生一个适合存储在配置文件中的哈希密码。 |
Initialize | 通过读取配置并获取给定应用程序的 Cookie 值和加密密钥来初始化 FormsAuthentication。 |
RedirectFromLoginPage | 已重载。将已验证身份的用户重定向回最初请求的 URL。 |
RenewTicketIfOld | 有条件地更新 FormsAuthenticationTicket 上的可调整到期日期。 |
SetAuthCookie | 已重载。创建身份验证票并将其附加到 Cookie 的传出响应的集合。它不执行重定向。 |
SignOut | 移除身份验证票。 |
ToString(从Object 继承) | 返回表示当前 Object 的 String。 |
受保护的方法
Finalize(从Object 继承) | 已重写。允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 在 C# 和 C++ 中,使用析构函数语法来表示终结程序。 |
MemberwiseClone(从Object 继承) | 创建当前 Object 的浅表副本。 |
一个名为 FormsAuthentication 的帮助器类提供静态帮助器方法和属性用来管理 Forms 身份验证票。下表列出了这些方法。
方法 | 说明 |
---|---|
Authenticate | 给定提供的凭据,尝试验证已配置凭据存储区的凭据。 |
Decrypt | 给定从 HTTP Cookie 处获得的加密身份验证票,返回 FormsAuthenticationTicket 类的一个实例。 |
Encrypt | 给定 FormsAuthenticationTicket,产生适合在 HTTP Cookie 中使用的包含加密身份验证票的字符串。 |
GetAuthCookie | 将已加密的身份验证 Cookie 作为 HttpCookie 实例检索。不将其添加到“响应 Cookie”(Response cookies) 集合。 |
GetRedirectUrl | 为导致重定向到登录页的原始请求返回重定向 URL。 |
HashPasswordForStoringInConfigFile | 给定密码和标识该哈希类型的字符串,此例程产生适于存储在配置文件中的哈希密码。 |
Initialize | 通过读取配置设置并获取当前应用程序的 Cookie 值和加密值初始化 FormsAuthentication。 |
RedirectFromLoginPage | 将已验证的用户重定向回最初请求的 URL。 |
RenewTicketIfOld | 在 FormsAuthenticationTicket 上有条件地更新弹性过期时间。 |
SetAuthCookie | 创建身份验证票并将它附加到传出响应的 Cookie 集合。 |
SignOut | 通过将身份验证 Cookie 设置为空值移除身份验证票。这将移除持久性的 Cookie 和会话 Cookie。 |
下表列出了有助于管理 Forms 身份验证票的属性。
属性 | 说明 |
---|---|
FormsCookieName | 获取当前应用程序的 Cookie 名称。 |
FormsCookiePath | 获取当前应用程序的 Cookie 路径。 |
RequireSSL | 获取一个值,该值指示是否只能通过安全连接传输 Cookie。 |
SlidingExpiration | 获取一个值,该值指示是否启用弹性过期时间。 |
可以使用帮助器方法来自定义模块工作的方式。还可以在登录页处理程序中使用它们以避免生成重定向的工作。使用这些功能的登录页可以像下面的示例一样简单。
[C#]
<html>
<head>
<script language="C#" runat=server>
void SubmitBtn_Click(Object Source, EventArgs e)
{
// Pull credentials from form fields and try to authenticate.
if (FormsAuthentication.Authenticate(UserName.Value,
UserPassword.Value))
{
FormsAuthenticationTicket ticket = new
FormsAuthenticationTicket(UserName.Value, false, 5000);
FormsAuthentication.RedirectFromLoginPage(UserName.Value,
Persist.Checked);
}
}
</script>
</head>
<body>
<form method=post runat=server>
<table>
<tr>
<td>Name:</td>
<td><input type="text" id="UserName" runat=server/></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" id="UserPassword" runat=server/>
</td>
</tr>
</table>
<input type="checkbox" id="Persist" runat=server/>
<!-- Use persistent cookie. -->
<br>
<input type="submit" OnServerClick="SubmitBtn_Click" runat=server/>
</form>
</body>
</html>
需要对 HTTP Cookie 属性进行精确控制的应用程序可以构造票并执行重定向,但这些应用程序也可以使用加密帮助器来加密身份验证票。