[C#] 纯文本查看 复制代码
using System.Collections.Specialized;
using System.Runtime;
using System.Web.Configuration;
namespace System.Web.Security
{
//
// 摘要:
// 为 Web 应用程序管理 Forms 身份验证服务。此类不能被继承。
public sealed class FormsAuthentication
{
//
// 摘要:
// 初始化 System.Web.Security.FormsAuthentication 类的新实例。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public FormsAuthentication();
//
// 摘要:
// 获取一个值,该值指示是否将应用程序配置为支持无 Cookie 的 Forms 身份验证。
//
// 返回结果:
// 如果应用程序已配置为支持无 Cookie 的 Forms 身份验证,则返回 true;否则返回 false。
public static bool CookiesSupported { get; }
//
// 摘要:
// 获取配置文件中指定的时间票证兼容性模式。
//
// 返回结果:
// 配置文件中指定的票证兼容性模式。
public static TicketCompatibilityMode TicketCompatibilityMode { get; }
//
// 摘要:
// 获取一个值,该值指示是否可以将经过身份验证的用户重定向到其他 Web 应用程序中的 URL。
//
// 返回结果:
// 如果可以将经过身份验证的用户重定向到其他 Web 应用程序中的 URL,则为 true;否则为 false。默认值为 false。
public static bool EnableCrossAppRedirects { get; }
//
// 摘要:
// 获取 Forms 身份验证 Cookie 的域的值。
//
// 返回结果:
// Forms 身份验证 Cookie 的 System.Web.HttpCookie.Domain。默认值为空字符串 ("")。
public static string CookieDomain { get; }
//
// 摘要:
// 获取一个值,该值指示是否已将应用程序配置为进行无 Cookie 的 Forms 身份验证。
//
// 返回结果:
// 一个 System.Web.HttpCookieMode 值,该值指示是否已将应用程序配置为进行无 Cookie 的 Forms 身份验证。默认值为 System.Web.HttpCookieMode.UseDeviceProfile。
public static HttpCookieMode CookieMode { get; }
//
// 摘要:
// 获取一个值,它指示是否启用可调过期。
//
// 返回结果:
// 如果启用可调过期,则为 true;否则为 false。默认值为 true。
public static bool SlidingExpiration { get; }
//
// 摘要:
// 获取配置文件中指定的超时值(以分钟为单位)。
//
// 返回结果:
// 配置文件中指定的超时值(以分钟为单位)。默认值为 30 分钟。
public static TimeSpan Timeout { get; }
//
// 摘要:
// 获取一个值,指示 Forms 身份验证 Cookie 是否需要 SSL 以返回到服务器。
//
// 返回结果:
// 如果将 Forms 身份验证 Cookie 返回到服务器需要 SSL,则为 true;否则为 false。默认值为 false。
public static bool RequireSSL { get; }
//
// 摘要:
// 获取 Forms 身份验证 Cookie 的路径。
//
// 返回结果:
// 存储 Forms 身份验证票证信息的 Cookie 的路径。默认值是“/”。
public static string FormsCookiePath { get; }
//
// 摘要:
// 获取用于存储 Forms 身份验证票证的 Cookie 名称。
//
// 返回结果:
// 用于存储 Forms 身份验证票证的 Cookie 名称。默认值是“.ASPXAUTH”。
public static string FormsCookieName { get; }
//
// 摘要:
// 获取一个值,该值指示是否启用窗体身份验证。
//
// 返回结果:
// 如果启用窗体身份验证,则为 true;否则为 false。
public static bool IsEnabled { get; }
//
// 摘要:
// 获取 System.Web.Security.FormsAuthentication 类将重定向到的登录页的 URL。
//
// 返回结果:
// System.Web.Security.FormsAuthentication 类将重定向到的登录页的 URL。默认值为“login.aspx”。
public static string LoginUrl { get; }
//
// 摘要:
// 获取在没有指定重定向 URL 时 System.Web.Security.FormsAuthentication 类将重定向到的 URL。
//
// 返回结果:
// 在没有指定重定向 URL 时 System.Web.Security.FormsAuthentication 类将重定向到的 URL。默认值为“default.aspx”。
public static string DefaultUrl { get; }
//
// 摘要:
// 对照存储在应用程序配置文件中的凭据来验证用户名和密码。
//
// 参数:
// name:
// 用户名。
//
// password:
// 用户的密码。
//
// 返回结果:
// 如果用户名和密码有效,则返回 true;否则返回 false。
public static bool Authenticate(string name, string password);
//
// 摘要:
// 创建一个 System.Web.Security.FormsAuthenticationTicket 对象,此对象将根据传递给该方法的加密的 Forms
// 身份验证票证而定。
//
// 参数:
// encryptedTicket:
// 加密的身份验证票。
//
// 返回结果:
// 一个 System.Web.Security.FormsAuthenticationTicket 对象。如果 encryptedTicket 参数不是有效票证,则返回
// null。
//
// 异常:
// T:System.ArgumentException:
// encryptedTicket 为 null。- 或 -encryptedTicket 为空字符串 ("")。- 或 -encryptedTicket 的格式无效。
public static FormsAuthenticationTicket Decrypt(string encryptedTicket);
//
// 摘要:
// 使用指定配置数据启用窗体身份验证。
//
// 参数:
// configurationData:
// 要用于窗体身份验证的配置数据。
//
// 异常:
// T:System.InvalidOperationException:
// 此方法从 Global.asax 文件中的 Application_Start 方法调用,或在后者方法之后调用。
public static void EnableFormsAuthentication(NameValueCollection configurationData);
//
// 摘要:
// 创建一个字符串,其中包含适用于 HTTP Cookie 的加密的 Forms 身份验证票证。
//
// 参数:
// ticket:
// 用于创建加密的 Forms 身份验证票证的 System.Web.Security.FormsAuthenticationTicket 对象。
//
// 返回结果:
// 一个字符串,其中包含加密的 Forms 身份验证票证。
//
// 异常:
// T:System.ArgumentNullException:
// ticket 为 null。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public static string Encrypt(FormsAuthenticationTicket ticket);
//
// 摘要:
// 为给定的用户名创建身份验证 Cookie。这不会将 Cookie 设置为传出响应的一部分。
//
// 参数:
// userName:
// 已验证身份的用户的名称。
//
// createPersistentCookie:
// 若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。
//
// strCookiePath:
// 身份验证 Cookie 的 System.Web.HttpCookie.Path。
//
// 返回结果:
// 一个 System.Web.HttpCookie,其中包含加密的 Forms 身份验证票证信息。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public static HttpCookie GetAuthCookie(string userName, bool createPersistentCookie, string strCookiePath);
//
// 摘要:
// 为给定的用户名创建身份验证 Cookie。这不会将 Cookie 设置为传出响应的一部分,因此应用程序对如何发出该 Cookie 有更多的控制权限。
//
// 参数:
// userName:
// 已验证身份的用户的名称。
//
// createPersistentCookie:
// 若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。
//
// 返回结果:
// 一个 System.Web.HttpCookie,其中包含加密的 Forms 身份验证票证信息。使用 System.Web.Security.FormsAuthentication.FormsCookiePath
// 属性的默认值。
public static HttpCookie GetAuthCookie(string userName, bool createPersistentCookie);
//
// 摘要:
// 返回导致重定向到登录页的原始请求的重定向 URL。
//
// 参数:
// userName:
// 已验证身份的用户的名称。
//
// createPersistentCookie:
// 忽略此参数。
//
// 返回结果:
// 一个字符串,其中包含重定向 URL。
public static string GetRedirectUrl(string userName, bool createPersistentCookie);
//
// 摘要:
// 根据指定的密码和哈希算法生成一个适合于存储在配置文件中的哈希密码。
//
// 参数:
// password:
// 要进行哈希运算的密码。
//
// passwordFormat:
// 要使用的哈希算法。passwordFormat 是一个 String,表示 System.Web.Configuration.FormsAuthPasswordFormat
// 枚举值之一。
//
// 返回结果:
// 经过哈希运算的密码。
//
// 异常:
// T:System.ArgumentNullException:
// password 为 null。- 或 -passwordFormat 为 null。
//
// T:System.ArgumentException:
// passwordFormat 不是有效的 System.Web.Configuration.FormsAuthPasswordFormat 值。
public static string HashPasswordForStoringInConfigFile(string password, string passwordFormat);
//
// 摘要:
// 根据应用程序的配置设置初始化 System.Web.Security.FormsAuthentication 对象。
public static void Initialize();
//
// 摘要:
// 将经过身份验证的用户重定向回最初请求的 URL 或默认 URL。
//
// 参数:
// userName:
// 经过身份验证的用户名。
//
// createPersistentCookie:
// 若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。
//
// 异常:
// T:System.Web.HttpException:
// 查询字符串中指定的返回 URL 包含 HTTP: 或 HTTPS: 以外的协议。
public static void RedirectFromLoginPage(string userName, bool createPersistentCookie);
//
// 摘要:
// 使用 Forms 身份验证 Cookie 的指定 Cookie 路径,将经过身份验证的用户重定向回最初请求的 URL 或默认 URL。
//
// 参数:
// userName:
// 经过身份验证的用户名。
//
// createPersistentCookie:
// 若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。
//
// strCookiePath:
// Forms 身份验证票证的 Cookie 路径。
//
// 异常:
// T:System.Web.HttpException:
// 查询字符串中指定的返回 URL 包含 HTTP: 或 HTTPS: 以外的协议。
public static void RedirectFromLoginPage(string userName, bool createPersistentCookie, string strCookiePath);
//
// 摘要:
// 将浏览器重定向到登录 URL。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public static void RedirectToLoginPage();
//
// 摘要:
// 将浏览器重定向到带有指定查询字符串的登录 URL。
//
// 参数:
// extraQueryString:
// 要包含在重定向 URL 中的查询字符串。
public static void RedirectToLoginPage(string extraQueryString);
//
// 摘要:
// 有条件地更新 System.Web.Security.FormsAuthenticationTicket 的发出日期和时间以及过期日期和时间。
//
// 参数:
// tOld:
// 要更新的 Forms 身份验证票证。
//
// 返回结果:
// 已更新的 System.Web.Security.FormsAuthenticationTicket。
public static FormsAuthenticationTicket RenewTicketIfOld(FormsAuthenticationTicket tOld);
//
// 摘要:
// 为提供的用户名创建一个身份验证票证,并使用提供的 cookie 路径或使用 URL(如果使用的是无 Cookie 身份验证)将该票证添加到响应的 Cookie
// 集合中。
//
// 参数:
// userName:
// 已验证的用户的名称。
//
// createPersistentCookie:
// 若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。
//
// strCookiePath:
// Forms 身份验证票证的 Cookie 路径。
//
// 异常:
// T:System.Web.HttpException:
// System.Web.Security.FormsAuthentication.RequireSSL 为 true 且 System.Web.HttpRequest.IsSecureConnection
// 为 false。
public static void SetAuthCookie(string userName, bool createPersistentCookie, string strCookiePath);
//
// 摘要:
// 为提供的用户名创建一个身份验证票证,并将该票证添加到响应的 Cookie 集合中或 URL 中(如果使用的是无 Cookie 身份验证)。
//
// 参数:
// userName:
// 已验证的用户的名称。这不必映射到 Windows 帐户。
//
// createPersistentCookie:
// 如果为 true,则创建持久 Cookie(跨浏览器会话保存的 Cookie);否则为 false。
//
// 异常:
// T:System.Web.HttpException:
// System.Web.Security.FormsAuthentication.RequireSSL 为 true 且 System.Web.HttpRequest.IsSecureConnection
// 为 false。
public static void SetAuthCookie(string userName, bool createPersistentCookie);
//
// 摘要:
// 从浏览器删除 Forms 身份验证票证。
public static void SignOut();
}
}
|