• 1. 配置文件
  • 2. 配置文件概述ASP.NET的两种配置文件 machine.config:提供整个机器的默认配置,对该文件的修改将影响所有本机的站点 web.config:一般用于应用程序级别的配置文件,对其修改不影响其他站点,也可以用于站点下的子目录 配置文件 基于XML,配置节元素区分大小写 可读可写(相比二进制的配置方便) 修改配置后,ASP.NET自动检测变化,不需要重启服务器或IIS
  • 3. 配置文件层次结构machine.configweb.configweb.configweb.configweb.config……服务器站点1站点2目录1目录2
  • 4. 4涉及的配置文件有: 1. Machine.Config 2. wwwroot 中的 web.config 3. 应用程序目录下的 web.config 4. 各个目录下的 web.config 配置文件的类型URL http://www.Host.com/Application/Directory/Page.aspx配置文件结构 ... 注意:并不需要所有目录和子目录都一定包含一个 web.config 文件
  • 5. 5ASP.NET 配置文件的结构 配置节处理程序声明区 出现在配置文件顶部 标记之间。包含在
    标记中的每个声明都指定提供特定配置数据集的节的名称和处理该节中配置数据的 .NET Framework 类的名称。 配置节设置区 位于 标签之后,它包含实际的配置设置。 区域中的每个声明都有一个配置节。每个配置节都包含子标记,这些子标记带有包含该节设置的属性。
  • 6. 6 允许用户设置应用程序的配置信息。 如可存储SQL 查询 可以使用以下命令将配置文件中存储的 配置设置读到 ASP.NET 页面中... string GetQuery = ConfigurationManager.AppSettings["MySQLQuery"]; ...
  • 7. 7< connectionStrings > < connectionStrings > 加解密节点aspnet_regiis -pef "connectionStrings" "项目路径" -prov "DataProtectionConfigurationProvider“ aspnet_regiis -pdf "connectionStrings" "项目路径"
  • 8. 自定义错误自定义错误配置节 On表示启用自定义错误 Off表示禁用自定义错误 RemoteOnly向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误 特定错误的错误页, statusCode为状态码,404错误代表页面不存在
  • 9. 身份验证和授权安全控制 身份验证,验证用户是否拥有相应的身份 权限控制,控制各种身份的用户所拥有的权限 身份验证方式 Windows身份验证 Passport身份验证 Forms身份验证 mode指定验证方式,分别有Windows、Passport和Forms 表单验证的登录页面,未通过验证的用户都转到该页面
  • 10. 身份验证和授权授权 allow,允许 deny,拒绝 特殊符号:“ * ”代表所有用户,“ ? ” 代表匿名用户 拒绝所有匿名用户允许admin角色拒绝所有用户授权中配置的顺序非常重要,系统总是按照从前 向后逐条匹配的方式,执行最先的匹配者
  • 11. Forms身份验证 1. 标签中的name表示指定要用于身份验证的 HTTP Cookie。默认情况下,name 的值是 .ASPXAUTH。采用此种方式验证用户后,以此用户的信息建立一个FormsAuthenticationTicket类型的身份验证票,再加密序列化为一个字符串,最后将这个字符串写到客户端的name指定名字的Cookie中.一旦这个Cookie写到客户端后,此用户再次访问这个web应用时会将连同Cookie一起发送到服务端,服务端将会知道此用户是已经验证过的. 身份验证票都包含哪些信息呢,我们看一下FormsAuthenticationTicket类: CookiePath: 返回发出 Cookie 的路径。 Expiration: 获取 Cookie 过期的日期/时间。 IsPersistent: 如果已发出持久的 Cookie,则返回 true。否则,身份验证 Cookie 将限制在浏览器生命周期范围内。 IssueDate: 获取最初发出 Cookie 的日期/时间。 Name: 获取与身份验证 Cookie 关联的用户名。 UserData :获取存储在 Cookie 中的应用程序定义字符串。 Version: 返回字节版本号供将来使用。 11
  • 12. 访问授权在运行时,授权模块迭代通过 标记,直到它找到适合特定用户的第一个访问规则。然后,它根据找到的第一项访问规则是 还是 规则来允许或拒绝对 URL 资源的访问。Machine.config 文件中的默认身份验证规则是 ,因此除非另行配置,否则在默认情况下会允许访问。 一个用户访问这个网站,就行登录确认了身份,身份验证票的cookie也写到了客户端。之后,这个用户再次申请这个web的页面,身份验证票的cookie就会发送到服务端。在服务端,asp.net为每一个http请求都分配一个HttpApplication对象来处理这个请求,在HttpApplication.AuthenticateRequest事件后,安全模块已建立用户标识,就是此用户的身份在web端已经建立起来,这个身份完全是由客户端发送回来的身份验证票的cookie建立的。12
  • 13. 登录和退出登录成功后,创建身份票证 退出 System.Web.Security.FormsAuthentication.SetAuthCookie(user.Name, true);System.Web.Security.FormsAuthentication.SignOut( );设置票证 表单验证服务类 删除票证
  • 14. 其它常用配置允许调试 应用程序运行时配置可通过该配置关闭应用程序 可页面执行时间单位(秒)控制最大上传的尺寸 单位(kb)
  • 15. 其他常用配置主题 本地化 本地化设置 设置Session