NET Framework 常规参考 |
配置 ASP.NET 身份验证支持。该元素只能在计算机、站点或应用程序级别声明。如果试图在配置文件中的子目录或页级别上进行声明,则将产生分析器错误信息。
<configuration>
<system.web>
<authentication>
<authentication mode
="Windows|Forms|Passport|None"><forms name
="name" loginUrl="url" protection="All|None|Encryption|Validation" timeout="30" path="/" > requireSSL="true|false" slidingExpiration="true|false"><credentials passwordFormat
="Clear|SHA1|MD5"><user name
="username" password="password"/></credentials>
</forms><passport redirectUrl="
internal"/>
</authentication>
必选属性
属性 | 选项 | 说明 |
---|---|---|
mode | 控制应用程序的默认身份验证模式。 | |
Windows | 将 Windows 验证指定为默认的身份验证模式。当使用以下任意形式的 Microsoft Internet 信息服务 (IIS) 身份验证时使用该模式:基本、简要、集成的 Windows 验证 (NTLM/Kerberos) 或证书。 | |
Forms | 将 ASP.NET 基于窗体的身份验证指定为默认的身份验证模式。 | |
Passport | 将 Microsoft Passport 身份验证指定为默认的身份验证模式。 | |
None | 不指定任何身份验证。只有匿名用户是预期的或者应用程序可以处理事件以提供其自身的身份验证。 |
子标记
子标记 | 说明 |
---|---|
<forms> | 为基于窗体的自定义身份验证配置 ASP.NET 应用程序。 |
<passport> | 指定要重定向到的页(如果该页要求身份验证,而用户尚未通过 Passport 注册)。 |
示例
以下示例为基于窗体的身份验证配置站点,指定传输来自客户端的登录信息的 Cookie 的名称,并指定当初始身份验证失败时所使用的登录页的名称。必须将 <authorization> 节包含在内才能要求所有用户进行 Forms 身份验证,并且拒绝对站点的所有匿名用户访问。
<configuration> <system.web> <authentication mode="Forms"> <forms name="401kApp" loginUrl="/login.aspx"/> </authentication> <authorization> <deny users="?"/> </authorization> </system.web> </configuration>
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpgenref/html/gngrfAuthorizationSection.asp
.NET Framework 常规参考 |
配置 ASP.NET 授权支持。<authorization> 标记控制对 URL 资源的客户端访问。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。
<configuration>
<system.web>
<authorization>
<authorization> <allow users="comma-separated list of users" roles="comma-separated list of roles" verbs="comma-separated list of verbs"/> <deny users="comma-separated list of users" roles="comma-separated list of roles" verbs="comma-separated list of verbs"/> </authorization>
子标记
子标记 | 说明 |
---|---|
<allow> | 基于以下项允许对资源的访问:
user:一个逗号分隔的用户名列表,这些用户被授予对资源的访问权限。问号 (?) 允许匿名用户;星号 (*) 允许所有用户。 roles:一个逗号分隔的角色列表,这些角色被授予对资源的访问权限。 verbs:一个逗号分隔的 HTTP 传输方法列表,这些 HTTP 传输方法被授予对资源的访问权限。注册到 ASP.NET 的谓词为 GET、HEAD、POST 和 DEBUG。 |
<deny> | 基于以下项拒绝对资源的访问:
user:一个逗号分隔的用户名列表,这些用户被拒绝对资源的访问。问号 (?) 表示拒绝匿名用户访问;星号 (*) 表示拒绝所有用户访问。 roles:一个逗号分隔的角色列表,这些角色被拒绝对资源的访问。 verbs:一个逗号分隔的 HTTP 传输方法列表,这些 HTTP 传输方法被拒绝对资源的访问。注册到 ASP.NET 的谓词为 GET、HEAD、POST 和 DEBUG。 |
备注
在运行时,授权模块迭代通过 <allow> 和 <deny> 标记,直到它找到适合特定用户的第一个访问规则。然后,它根据找到的第一项访问规则是 <allow> 还是 <deny> 规则来允许或拒绝对 URL 资源的访问。Machine.config 文件中的默认身份验证规则是 <allow users="*"/>,因此除非另行配置,否则在默认情况下会允许访问。
示例
以下示例允许对 Admins
角色的所有成员的访问,并且拒绝对所有用户的访问。
<configuration> <system.web> <authorization> <allow roles="Admins"/> <deny users="*"/> </authorization> </system.web> </configuration>
.NET Framework 常规参考 |
配置 ASP.NET 跟踪服务。
<configuration>
<system.web>
<trace>
<trace enabled="true|false" localOnly="true|false" pageOutput="true|false" requestLimit="integer" traceMode="SortByTime|sortByCategory"/>
可选属性
属性 | 选项 | 说明 |
---|---|---|
enabled | 指定是否为应用程序启用跟踪。 | |
true | 指示跟踪已启用。为了使用 Trace.axd 查看器,必须启用跟踪。 | |
false | 指示跟踪未启用。默认值为 false。 | |
localOnly | true | 指示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器。默认值为 true。 |
false | 指示跟踪查看器可用于任何计算机。 | |
pageOutput | 指定在每一页的结尾是否呈现跟踪输出。 | |
true | 指示将跟踪输出追加到每一页。 | |
false | 指示只能通过跟踪实用工具访问跟踪输出。默认值为 false。 | |
requestLimit | 指定在服务器上存储的跟踪请求的数目。默认值为 10。如果达到该限制,则自动禁用跟踪。 | |
traceMode | SortByTime | 指示是否以处理跟踪的顺序来显示跟踪信息。默认值为 SortByTime。 |
SortByCategory | 指示根据用户定义的类别按字母顺序显示跟踪信息。 |
示例
以下示例指定跟踪配置设置。
<configuration> <system.web> <trace enabled="false" pageOutput="true" requestLimit="15"/> <system.web> </configuration>