16.6 网站管理工具
知识点讲解:光盘:视频\PPT讲解(知识点)\第16章\网站管理工具.mp4
在ASP.NET中,除了配置Web.config文件外,还允许使用网站管理工具来管理应用程序的所有安全设置,如图16-19所示。这些网站管理工具包括:
图16-19 ASP.NET网站管理工具
- 用户管理(成员资格管理)。
- 角色管理。
- 访问规则管理(授权)。
Visual Studio 2012提供了功能完善的网站管理工具。新建或打开一个ASP.NET站点项目后,依次单击工具栏中的【网站】︱【ASP.NET配置】命令后,即可打开当前网站的ASP.NET网站管理工具,如图16-20所示。所有有关安全的配置都在“安全”选项卡中,如图16-21所示。
图16-20 启动ASP.NET配置
图16-21 ASP.NET网站管理工具
注意:使用ASP.NET网站管理工具对网站进行安全配置时,可能会修改Web.config文件,因此在进行配置前请先关闭Web.config文件。
16.6.1 用户管理
用户管理功能仅对表单验证有效,如果当前的验证方式为默认的基于Windows的身份验证,则会看到如图16-22所示的提示。
图16-22 用户管理仅对表单验证有效
单击“选择身份验证类型”超链接,然后选择“通过Internet”单选按钮,如图16-23所示。
图16-23 选择身份验证方式
此时就可以看到用户管理的一些功能了,如图16-24所示。单击“创建用户”超链接,可以创建用户账号,如图16-25所示。单击“管理用户”超链接,可以对已有的一些用户进行管理操作,如查找、编辑、删除和配置角色,如图16-26所示。
图16-24 用户管理
图16-25 创建用户
图16-26 管理用户
由于现在还没有启用角色,因此暂时没有配置角色的功能。创建的这些用户都保存在ASPNETDB数据库中。
16.6.2 角色管理
如果没有启用角色管理,将会看到如图16-27所示的界面。
图16-27 未启用角色管理
单击“启用角色”超链接后,界面的显示效果如图16-28所示。
图16-28 已经启用角色管理
此时在Web.config文件的<system.web>节点下已经多了如下配置。
<roleManager enabled="true" />
单击“创建或管理角色”超链接进行角色的创建、修改和删除,如图16-29所示。
图16-29 角色管理
在这里,新建了一个Manager的角色,但并没有把任何用户关联到这个角色,也没有对这个角色进行授权。现在使用用户管理功能创建一个名为“SalesManager”的用户,并在创建的时候直接把该用户关联到Manager这个角色,如图16-30所示。
图16-30 创建用户并关联角色
对于已创建的用户,也可以通过用户管理中的编辑角色功能进行角色关联,如图16-31所示。
图16-31 编辑角色
还有一种关联角色的方式就是在角色管理中进行关联,如图16-32所示。
图16-32 在角色管理中添加用户
如果需要一次性把多个用户关联到某个角色,就需要搜索所有用户名中有“Manager”字样的用户,然后把他们全部关联到Manager这个角色。创建的这些角色以及用户和角色之间的关联都保存在ASPNETDB数据库中。
16.6.3 访问规则管理
访问规则管理用于授权用户或者角色对路径的访问权限,如图16-33所示。为了便于演示,此处在网站根目录下创建一个“Reports”文件夹,假设这个文件夹内存放的是报表文件,只允许经理访问。然后在这个文件夹中创建一个Default.aspx页面,该页面上放置一个LoginName控件。
图16-33 访问规则管理
单击“创建访问规则”超链接,显示如图16-34所示的界面。
这里是报表页面,您好 <asp:LoginName ID="LoginName1" runat="server" />
图16-34 创建访问规则
在这里选中“Reports”文件夹,然后选择“角色”单选项,再选中先前创建的角色“Manager”,然后在“权限”部分选择“允许”单选项。这种组合表示允许Manager这个角色访问“Reports”文件夹。要达到我们的要求,除了允许经理访问文件夹之外,还需要禁止其他人(角色)访问文件夹。在单击“确定”按钮保存这个访问规则之后,再次单击“创建访问规则”超链接来创建一个拒绝规则:指定所有用户对“Reports”文件夹的访问权限为“拒绝”。
单击“管理访问规则”超链接,可以看到网站中各个文件夹的访问规则,如图16-35所示。
图16-35 管理访问规则
现在,测试一下这些安全配置。启动Reports目录下的Default.aspx页面,该页面被自动重定向到了登录页面。可以尝试使用以下用户登录。
- test(不属于任何角色)。即使登录也不能访问到Reports目录下的Default.aspx页面。
- SalesManager(属于Manager用户组)。登录后可以访问Reports目录下的Default.aspx页面,如图16-36所示。
图16-36 报表页面
其实,这些访问规则的配置都是保存在相应文件夹的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>
16.6.4 其他配置
除了与安全相关的配置外,还可以通过网站管理工具来进行一些其他配置,图16-37和图16-38分别所示为SMTP服务器以及调试/跟踪应用程序的配置界面。
图16-37 配置SMTP服务器
图16-38 配置调试和跟踪应用程序