1.通过Web.Config文件实现
2.如何配置Web.Config文件:
(1)配置ASP.NET身份验证
mode="Windows"(IIS根据应用程序设置执行身份验证,IIS必须禁止匿名访问)
mode="Forms"(窗体登录身份验证,用户身份标记存储于Cookie对象中)
mode="PassPort"(通过Microsoft的集中身份验证服务执行,为站点提供不同用户访问此应用程序资源)
mode="None" (不执行身份验证)
例如:当没有登录的用户访问需要身份验证的网页时,网页自动跳转到登录页面,其中loginUrl是登录页面名称,name是Cookie名称。
<authentication mode="Forms"><forms loginUrl="login.aspx" name=".FormsAuthCookie"/></authentication>
(2)控制对URL资源的客户端访问(如允许匿名用户访问) <authorization>
【注意】必须与<authentication>配合使用,也可以使用user.identity.name来获取已经通过验证的当前用户名,可以使用web.Security.FormsAuthentication.RedirectFormLoginPage方法将已经验证的用户重定向到用户刚请求的页面。
例如:禁止匿名用户的访问:(允许则用allow)
<authorization><deny user="?"/></authorization>
(3)配置ASP.NET使用的所有编译设置 <compilation>
<compilation DefaultLanguage="VB.NET/C#"> 默认使用后台代码的语言
<compilation Debug="true/false">调式程序:True表示将启动ASPX调试;False可以提高应用程序的运行性能,不过建议在程序开发调试时,设置为“True”;交于客户使用则设置为“False”
(4)为ASP.NET应用程序提供有关自定义错误信息的信息 <customErrors mode="?">
【注意】它不适用于XML Web Services中发生的错误
<customErrors mode="On">表示一直显示自定义信息
<customErrors mode="Off">表示一直显示详细的ASP.NET错误信息
<customErrors mode="RemoteOnly">只对不在本地WEB服务器上运行的用户(远程用户)显示自定义信息
例如:当错误发生时将网页跳转到自定义的错误页面。
<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"></customErrors>
(5)配置ASP.NET HTTP运行库的设置 <httpRuntime>
例如:指定用户上传文件最大为4MB,最长时间为60s,最多请求数为100.
<httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100">
(6)配置用于标识特定页设置(如是否启用会话状态、视图状态、是否检测用户输入等) <pages>
例如:不检测用户在浏览器输入的内容中是否存在潜在危险数据,在客户端返回页时检查加密的视图状态,以验证视图状态是否已在客户端被篡改。
<pages buffer="true" enableViewStateMac="true" validateRequest="false"/></pages>
(7)配置当前应用程序会话状态(是否启用会话状态、会话状态保存位置等等) <sessionState>
<sessionState Mode="Off/InProc/StateServer/SqlServer">Off禁用会话状态、InProc工作进程自身存储会话状态、StateServer将会话信息存储在一个单独的ASP.NET状态服务中、SqlServer将会话信息存储在SQL server数据库中。
<sessionState StateConnectionString="?">存储远程会话状态的服务器名,默认为本地。
<sessionState Cookieless="True/False">True表示不使用Cookie会话标识客户,False表示启动Cookie会话状态。
<sessionState SqlConnectionString="数据库连接字符串">设置SQL Server数据库连接
<sessionState Timeout="20">设置会话时间,超过期限会自动中断会话,默认设置为20(分钟)
例如:存储在本地且用户浏览器不支持Cookie时启用会话状态,会话处于空闲状态的分钟数为20分钟
<sessionState mode="InProc" cookieless="true" timeout="20"/></sessionState>
(8)配置ASP.NET的跟踪服务 <trace>
判断程序测试哪里出错
例如:程序不启用跟踪,在服务器上存储的跟踪请求数为10,只能通过跟踪实用工具访问跟踪输出,处理跟踪的时间顺序来显示跟踪信息,跟踪查看器(trace.axd),只用于当地Web服务器。
<trace enable="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
(9)自定义Web.config文件配置:
例如:
<configuration>
<configSections>
<section name="appSettings" type="System.Configuration.NameValueFileSectionHand
</configSections>
<appSettings>
<add key="ss" value="server=a;database=northwind;uid=sa;pwd=111"/>
</appSettings>
<system.web>
....
</system.web>
</configuration>
如何来调用上面的数据库连接?
protected static string Isdebug=ConfigurationSettings.AppSettings["debug"]
3.比较常用的一些web配置:
<!--禁用客户端验证-->
<pages validateRequest="false"/>
<!--上传文件大小,最大大小200M-->
<httpRuntime exection Timeout="9999" maxRequestLength="204800" useFullyQualifiedRedirec
<!--SqlServer数据库连接字符串配置-->
<connectionStrings>