authentication 的 forms 元素(ASP.NET 设置架构)
更新:2007 年 11 月
配置 ASP.NET 应用程序以执行基于窗体的自定义身份验证。
configuration 元素(常规设置架构)
system.web 元素(ASP.NET 设置架构)
authentication 元素(ASP.NET 设置架构)
authentication 的 forms 元素(ASP.NET 设置架构)
<forms
name="name"
loginUrl="URL"
defaultUrl="URL"
protection="[All|None|Encryption|Validation]"
timeout="[MM]"
path="path"
requireSSL="[true|false]"
slidingExpiration="[true|false]">
enableCrossAppRedirects="[true|false]"
cookieless="[UseUri|UseCookie|AutoDetect|UseDeviceProfile]"
domain="domain name">
<credentials>...</credentials>
</forms>
属性和元素
下面几部分描述了属性、子元素和父元素。
属性
属性 |
说明 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cookieless |
可选的属性。 定义是否使用 Cookie 以及 Cookie 的行为。 此属性可以为下列值之一。
此属性是 .NET Framework 2.0 版中的新属性。 默认值为 UseDeviceProfile. |
||||||||||||
defaultUrl |
可选的属性。 定义在身份验证之后用于重定向的默认 URL。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 "default.aspx"。 |
||||||||||||
domain |
可选的属性。 指定在传出 Forms 身份验证 Cookie 中设置的可选域。此设置的优先级高于 httpCookies 元素中使用的域。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为空字符串 ("")。 |
||||||||||||
enableCrossAppRedirects |
可选的属性。 表明是否将通过身份验证的用户重定向到其他 Web 应用程序中的 URL。
此属性可以为下列值之一。
此属性是 .NET Framework 2.0 版中的新属性。 默认值为 False。 |
||||||||||||
loginUrl |
可选的属性。 指定如果找不到任何有效的身份验证 Cookie,将请求重定向到的用于登录的 URL。 默认值为 login.aspx。 |
||||||||||||
name |
可选的属性。 指定要用于身份验证的 HTTP Cookie。如果正在一台服务器上运行多个应用程序并且每个应用程序都需要唯一的 Cookie,则必须在每个应用程序的 Web.config 文件中配置 Cookie 名称。 默认值为 ".ASPXAUTH"。 |
||||||||||||
path |
可选的属性。 为应用程序发出的 Cookie 指定路径。 默认值是斜杠 (/),这是因为大多数浏览器是区分大小写的,如果路径大小写不匹配,浏览器不会送回 Cookie。 |
||||||||||||
protection |
可选的属性。 指定 Cookie 使用的加密类型(如果有)。 此属性可以为下列值之一。
默认值为 All。 |
||||||||||||
requireSSL |
可选的属性。 指定是否需要 SSL 连接来传输身份验证 Cookie。 此属性可以为下列值之一。
默认值为 False。 |
||||||||||||
slidingExpiration |
可选的属性。 指定是否启用可调过期时间。可调过期将 Cookie 的当前身份验证时间重置为在单个会话期间收到每个请求时过期。 此属性可以为下列值之一。
默认值为 True。 |
||||||||||||
timeout |
可选的属性。 指定 Cookie 过期前逝去的时间(以整数分钟为单位)。如果 SlidingExpiration 属性为 true,则 timeout 属性是滑动值,会在接收到上一个请求之后的指定时间(以分钟为单位)后过期。为防止危及性能并避免向开启 Cookie 警告的用户发出多个浏览器警告,当指定的时间逝去大半时将更新 Cookie。这可能导致精确性受损。默认值为 "30"(30 分钟)。
|
子元素
子标记 |
说明 |
---|---|
credentials |
允许选择在配置文件中定义名称和密码凭据。您还可以实现自定义的密码架构,以使用外部源(如数据库)来控制验证。 |
父元素
元素 |
说明 |
---|---|
configuration |
指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
system.web |
指定配置文件中 ASP.NET 配置设置的根元素,并包含用于配置 ASP.NET Web 应用程序和控制应用程序行为方式的配置元素。 |
authentication |
配置 ASP.NET 身份验证方案,该方案用于识别查看 ASP.NET 应用程序的用户。 |
备注
forms 元素为基于窗体的自定义身份验证配置 ASP.NET 应用程序。如果在单个服务器上正运行多个应用程序,则必须在每个应用程序的 Web.config 文件中配置 forms 元素的属性。有关更多信息,请参见跨应用程序进行 Forms 身份验证。
在 URI 中发送 Forms 身份验证票时,可以超过 URI 的最大大小。如果匿名标识票证、Forms 身份验证票证、会话 ID 和用户数据的组合超过了允许的最大 URI 长度,请求将失败,并发出“400 错误的请求”错误。
默认配置
下面的默认 forms 元素不是在 Machine.config 文件或根 Web.config 文件中显式配置的。但它是 .NET Framework 2.0 版中应用程序返回的默认配置。
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
defaultUrl="default.aspx"
protection="All"
timeout="30"
path="/"
requireSSL="false"
slidingExpiration="true"
cookieless="UseDeviceProfile" domain=""
enableCrossAppRedirects="false">
<credentials passwordFormat="SHA1" />
</forms>
下面的默认 forms 元素在 .NET Framework 1.1 版的 Machine.config 文件中配置。
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
protection="All"
timeout="30"
path="/"
requireSSL="false"
slidingExpiration="true">
<credentials passwordFormat="SHA1"></credentials>
</forms>
下面的默认 forms 元素在 .NET Framework 1.0 版的 Machine.config 文件中配置。
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
protection="All"
timeout="30"
path="/" >
<credentials passwordFormat="SHA1"></credentials>
</forms>
示例
下面的代码示例演示如何为基于窗体的身份验证配置站点、指定传输来自客户端的登录信息的 Cookie 的名称以及指定当初始身份验证失败时使用的登录页的名称。
<configuration>
<system.web>
<authentication mode="Forms">
<forms
name="401kApp"
loginUrl="/login.aspx"
cookieless="AutoDetect"
defaultUrl="myCustomLogin.aspx">
<credentials passwordFormat = "SHA1">
<user name="UserName"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>
元素信息
配置节处理程序 |
|
配置成员 |
|
可配置的位置 |
Machine.config 根级别的 Web.config 应用程序级别的 Web.config |
要求 |
Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0 .NET Framework 版本 1.0、1.1 或 2.0 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
请参见
任务
概念
参考
authentication 元素(ASP.NET 设置架构)
authentication 的 forms 的 credentials 元素(ASP.NET 设置架构)
authentication 的 passport 元素(ASP.NET 设置架构)