身份验证和授权
通过任务二学习,你需要掌握和了解以下内容:
1.应用身份验证措施
2.学习<authentication>节点
3.掌握基于Windows的身份验证
【案例一】设置用户账户对站点的访问权限
【具体步骤】
(1)创建用户
①在Windows 7或Windows Server 2008服务器上,选择【开始】→【控制面板】→【管理工具】→【计算机管理】命令,弹出【计算机管理】窗口。
②展开【系统工具】节点。
③展开【本地用户和组】节点。

图2-1
⑤右击【用户】文件夹,在弹出的快捷菜单中选择【新用户】命令、弹出【新用户】对话框,如图2-2所示。

图2-2
⑥给用户指定名称、密码和描述(说明这是一个测试用户)。这个例子把用户命名为zhubm。
⑦取消需要用户在下次登录时修改密码的复选框的选中状态。
⑧单击【创建】按钮,就创建了测试用户,它会显示在【计算机管理】实用程序的【用户】文件夹中,如图2-3所示。

图2-3
(2)用户的身份验证和授权。
①打开一个项目根目录下的Web.Config文件,在Web.Config中添加以下代码:
<system.web>
<authenticationmode="Windows"/>
<authorization>
<deny users="*"/>
</authorization>
</system.web>

图2-4
③对Web.Config文件中的代码作如下更改:
<system.web>
<authentication mode="Windows"/>
<authorization>
<allowusers="计算机名\zhubm"/>
<deny users="*"/>
</authorization>
</system.web>
④注销计算机,使用新建用户“zhubm”登录计算机。

【案例二】设置用户组对站点的访问权限
【具体步骤】
(1)打开计算机管理实用程序(选择【开始】→【控件面板】→【管理工具】→【计算机管理】命令),访问在服务器上定义的组列表。单击【计算机管理】实用程序中的【组】文件夹,就会显示组的列表,如图2-6所示。

图2-6
(2)右击【组】文件夹,在弹出的快捷菜单中选择【新建组】命令,弹出【新建组】对话框,如图2-7所示。

图2-7
(3)创建一个组,指定它的名称为“MyGroup”和描述“Test允许访问的用户组测试”,然后单击【添加】按钮,选择要成为该组中成员的用户。
(4)创建组后,将在Web.Config文件中添加如下代码:
<allowroles="MyGroup"/>
(5)注销计算机,用“MyGroup”组中的用户登录系统,打开刚才的应用程序运行即可访问网站的页面。
【背景知识】
一、Web.Config
Web.Config文件是一个XML文本文件,它用来储存ASP.NET Web应用程序的配置信息(如最常用的设置ASP.NET Web应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.Config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果想修改子目录的配置设置,可以在该子目录下新建一个Web.Config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
二、<authentication>节点
在应用程序的Web.Config文件中使用<authentication>节点,可以设置ASP.NET应用程序需要的身份验证类型。
<system.web>
<authentication mode="Windows|Forms|Passport|None">
</authentication>
</system.web>
<authentication>节点用mode属性设置要使用的身份验证模式。其选项包括Windows、Forms、Passport和None。表2-1解释了这些选项。

表2-1
三、<allow>和<deny>节点详解
<allow>和<deny>节点不仅可以操作特定的用户,还可以操作组。这两个元素支持表2-2中的属性。

表2-2

