ASP.NET中的Forms身份验证的研究
2012-08-01义艳刚
义艳刚
(武汉船舶职业技术学院实训中心,湖北武汉 430050)
在Visual Studio.NET中开发Web应用程序项目时,在默认情况下,任何人都可以访问这些Web页面。如果想拒绝某些不受欢迎的人访问页面,这就需要对访问页面的用户进行“身份验证”。
ASP.NET中支持三种类型的身份验证:Windows身份验证,它结合Internet信息服务(IIS)身份验证,只允许某些 Windows账户访问页面;Passport身份验证,它是由 Microsoft提供的集中身份验证服务,用于为其成员站点提供单一登录和核心配置服务;Forms身份验证,它是使用自定义表单来实现身份验证,这是最流行的身份验证方法。
当用户访问使用Forms身份验证的页面时,他们会被重新定向到一个登录页面。在这个页面,用户可以提供用户名和密码,然后检查其身份验证信息是否有效,并据此授权或拒绝访问页面。本文主要对ASP.NET的Forms身份验证进行讨论。
1 使用Web.config存储用户的Fo rms身份验证
Web.config文件是一个XML文本文件,它用来储存ASP.NET Web应用程序的配置信息。在Visual Studio.NET中新建一个Web应用程序后,默认情况下会在站点的根目录下自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。通过对Web.config文件进行重写或修改,可以设置ASP.NET Web应用程序的Forms身份验证方式,设置步骤如下:
(1)在项目解决方案中打开 Web.config文件,编辑<authentication>元素,设置应用程序的身份验证方式为“Forms”,并为应用程序提供一组有效的用户,如下所示。

(2)在 Web.config文件中,从<authorization>元素中删除<allow users=”*”/>行。因为这一行向任何人授予访问权限,所以需要删除。
(3)在 Web.config文件的<authorization>元素中,添加<deny users=”?”/>行,拒绝所有未通过身份验证的用户。……
