<forms> 元素

为自定义的基于窗体的身份验证配置 ASP.NET 应用程序。

配置结构的示例:

<configuration>
   <system.web>
      <authentication>
         <forms>

<forms name="name" 
       loginUrl="url"
       	protection="All|None|Encryption|Validation"
				timeout="30"
       path="/" 
       requireSSL="true|false"
       slidingExpiration="true|false">
   <credentials passwordFormat="format"/>
</forms>

可选属性

属性 选项 描述
name     指定用于身份验证的 HTTP Cookie。在默认情况下,name 的值为 .ASPXAUTH。如果在单个服务器上运行多个应用程序,且每个应用程序都需要唯一的 Cookie,那么您必须在每个应用程序的 Web.config 文件中配置 Cookie 名。
loginUrl     指定了未找到有效的身份验证 Cookie 时为了登录而将请求重定向到的 URL。默认值为 default.aspx。
protection     指定用于 Cookie 的加密类型(如果有)。
    All 指定应用程序同时使用数据验证和加密来保护 Cookie。该选项使用已配置的数据验证算法(基于 <machineKey> 元素)。如果 Triple-DES (3DES) 可用且密钥足够长(48 字节或更多),则在加密时使用 Triple-DES。All 是默认(也是推荐)值。
    None 指定了对于仅为个性化而使用 Cookie 的站点或安全要求较低的站点,同时禁用加密和验证。建议不要按这种方式使用 Cookie;不过,这是使用 .NET Framework 启用个性化的资源密集程度最低的方法。
    Encryption 指定使用 Triple-DES 或 DES 加密 Cookie,但不对 Cookie 执行数据验证。以这种方式使用的 Cookie 容易受到明文攻击方式的攻击。
    Validation 指定了使用验证方案来验证加密的 Cookie 的内容在传输过程中未更改。该 Cookie 是通过下列方式使用 Cookie 验证创建的:连接带有 Cookie 数据的验证密钥、计算消息验证代码 (MAC),并将 MAC 追加到发送 Cookie 中。
timeout     指定以整数分钟计算的 Cookie 的过期时间。默认值为 30 分钟。如果 SlidingExpiration 属性为 true,则 timeout 属性为滑动值,它将在接收到最后一个请求后再经过指定的分钟数时过期。为防止降低性能,避免开启了 Cookie 警告功能的用户收到多个浏览器警告,在所指定的时间过去一半时 Cookie 会更新。这样也许会导致精确度的损失。永久性 Cookies 不会超时。
path     指定了由应用程序产生的 Cookie 路径。默认值为斜线 (/),因为多数浏览器都是区分大小写的,如果路径大小写不匹配将不会返回 Cookie。
requireSSL     指定传输身份验证 Cookie 时是否需要加密的连接。
    true 指定需要加密的连接以保护用户的凭据。如果为 true,ASP.NET 将为身份验证 Cookie 设置 HttpCookie.Secure,并且只有当连接使用安全套接字层 (SSL) 时,兼容的浏览器才返回 Cookie。
    false 指定传输 Cookie 时不需要加密的连接。默认值是 false
slidingExpiration     指定是否启用滑动过期。对于单个会话中的每一个请求,滑动过期将活动的 Cookie 的时间重置为过期。
    true 指定启用滑动过期。身份验证 Cookie 会被更新,且单个会话中随后请求的过期时间也会被重置。ASP.NET 1.0 版的缺省值为 true
    false 指定了禁用滑动过期,并指定 Cookie 在到达设置的时间间隔(离最初产生的时间)时过期。默认值为 false

子标记

子标记 描述
<credentials> 允许在配置文件中定义名称和密码凭据。您还可以实现自定义的密码方案来使用外部源(如数据库)控制验证。

注释

如果在服务器上运行多个应用程序,必须在 Web.config 文件中为每个应用程序配置 <forms> 属性。

示例

下例为基于窗体的身份验证配置站点、指定从客户端传输登录信息的 Cookie 名称、并指定在初始身份验证失败时使用的登录页的名称。

<configuration>
   <system.web>
      <authentication mode="Forms">
         <forms name="401kApp" loginUrl="/login.aspx">
            <credentials passwordFormat = "SHA1" 
               <user name="UserName" 
                     password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
            </credentials>
         </forms>
      </authentication>
   </system.web>
</configuration>

要求



相关主题


© 1997-2003 Microsoft Corporation。保留所有权利