一个尚未讨论的问题是应用程序的身份验证是如何实现的以及ASPNET为身份验证提供了哪些选择到目前为止所有示例都依赖一种称为Forms身份验证的技术那么什么是Froms身份验证其他的身份验证技术有哪些?
Forms身份验证要发出登录请求需要在网页上填写一个表单并将该表单提交到服务器服务器在接受该请求之后将向用户的本地机器写一个cookie在后续的浏览中浏览器每次发送请求时都会将该cookie送回服务器这样用户就可以根据自己的希望保持身份验证状态
Windows身份验证登录页面将用户证书发送到Web服务器(只能是IIS而不是VWD内建的Web服务器)然后Web服务器使用应用程序所运行的虚拟目录配置的方法处理身份验证IIS连接到Windows操作系统和Active directory(活动目录)域结构上这意味着它依赖于存储在站点外部的用户配置文件并使用标准Windows证书登录到站点根据站点的配置情况以及登录计算机所使用的账户甚至可以不用直接登录站点因为当一前所使用的Windows证书会自动传递到Web服务器进行身份验证这种方式在开发局域网应用程序时特别有用
Passport身份验证登录证书被传递到某个Microsoft Passport服务器这个服务器集中保存了用户的配置文件登录Hotmail账户使用的就是这种方式由于可以配置Windows在启动时登录一个Passport账户因此在访问Hotmail收件箱时甚至都不需输入口令
Forms身份验证模式
本节讨论Forms身份验证的工作原理考虑以下情景
用户──假设是Bob──希望查看页面A匿名用户不可以访问这个页面因此当Bob试图访问页面A时浏览器取而代之显示一个登录页面如图所示
ASPNET 入门教程完整版
[] [] []