在这之前,我们都是手动配置Web.config文件进行授权,通过安全控件进行成员资格管理,其实我们还可以使用网站管理工具来管理应用程序的所有安全设置,包括:
· 用户管理(成员资格管理)
· 角色管理
· 访问规则管理(授权)
你只需要在IDE的网站菜单中选择ASP.NET配置,IDE就会自动打开当前网站的ASP.NET网站管理工具,如图15-32所示。
所有有关安全的配置都在安全页中,如图15-33所示。
图15-32 启动ASP.NET配置 图15-33 ASP.NET网站管理工具
注意:使用ASP.NET网站管理工具对网站进行安全配置可能会修改Web.config,因此在打开配置前请先关闭Web.config文件。
用户管理功能仅对表单验证有效,如果当前的验证方式为默认的基于Windows的身份验证,则会看到如图15-34所示的提示。
单击“选择身份验证类型”链接,然后选择“通过Internet”选项,如图15-35所示。
图15-35 选择身份验证方式
如图15-36所示,现在就可以看到用户管理的一些功能了。
单击“创建用户”链接可以创建用户账号,如图15-37所示。
单击“管理用户”链接可以对已有的一些用户进行管理操作:搜索、编辑、删除和配置角色,如图15-38所示。
图15-36 用户管理 图15-37 创建用户
图15-38 管理用户
由于现在还没有启用角色,因此暂时没有配置角色的功能。创建的这些用户都是保存在ASPNETDB数据库中的。
如果没有启用角色管理,将会看到如图15-39所示的界面。
单击“启用角色”链接后界面的效果如图15-40所示。
图15-39 未启用角色管理 图15-40 已经启用角色管理
这个时候,Web.config的<system.web>节点下已经多了一项配置:
<roleManager enabled="true" />
单击“创建或管理角色”进行角色的创建、修改和删除,如图15-41所示。
图15-41 角色管理
在这里,我们新建了一个Manager的角色,但并没有把任何用户关联到这个角色,也没有对这个角色进行授权。现在我们使用用户管理功能创建一个名为SalesManager的用户,并在创建的时候直接把他关联到Manager这个角色,如图15-42所示。
图15-42 创建用户并关联角色
当然,对于已创建的用户,你也可以通过管理用户中的编辑角色功能进行角色关联,如图14-43所示。
图15-43 编辑角色
还有一种关联角色的方式就是在角色管理中进行关联,如图15-44所示。
图15-44 向角色添加用户
如果需要一次性把多个用户关联到某个角色,这种方式会方便很多。在这里,我们搜索所有用户名中有Manager字样的用户,把他们全部关联到Manager这个角色。创建的这些角色以及用户和角色之间的关联都是保存在ASPNETDB数据库内的。
访问规则管理用于授权用户或者角色对于路径的访问权限,如图15-45所示。
为了演示,我们先在网站根目录下创建一个Reports文件夹,假设这个文件夹内存放的是报表文件,只允许经理访问。我们在这个文件夹内创建一个Default.aspx,页面上放置一个LoginName控件。
这里是报表页面,您好 <asp:LoginName ID="LoginName1" runat="server" />
然后单击“创建访问规则”链接,界面如图15-46所示。
图15-46 创建访问规则
在这里选中Reports文件夹,然后选择“角色”,选中先前创建的角色“Manager”,然后在权限部分选择“允许”。这样一种组合就表示允许Manager这个角色访问Reports文件夹。要达到我们的要求,除了允许经理访问文件夹之外,还需要禁止其他人(角色)访问文件夹。在单击“确定”按钮保存这个访问规则之后,再次单击“创建访问规则”链接来创建一个拒绝规则:指定所有用户对于Reports文件夹的访问权限为拒绝。
现在再单击“管理访问规则”链接,如图15-47所示,可以看到网站是各个文件夹的访问规则。
图15-47 管理访问规则
现在,让我们来测试一下这些安全配置。启动Reports目录下的Default.aspx,页面被自动重定向到了登录页面。你可以尝试使用以下用户登录:
· test(不属于任何角色)。即使登录也不能访问到Reports目录下的Default.aspx。
· SalesManager(属于Manager用户组):登录后可以访问到Reports目录下的Default.aspx,如图15-48所示。
图15-48 报表页面
其实,这些访问规则的配置都是保存在相应文件夹的Web.config文件中的,打开Reports文件夹中的Web.config文件可以看到如下的配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Manager" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
除了与安全相关的配置外,我们还可以通过网站管理工具来进行一些其他配置,图15-49和图15-50分别为SMTP服务器以及调试/跟踪的配置界面。
图15-49 配置SMTP服务器 图15-50 配置调试和跟踪