【C#.NET】保护你的ASP.NET应用程序(四)ASP.NET网站管理工具

15.7  ASP.NET网站管理工具

15.7.1  ASP.NET网站管理工具概述

在这之前,我们都是手动配置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文件。

15.7.2  用户管理

用户管理功能仅对表单验证有效,如果当前的验证方式为默认的基于Windows的身份验证,则会看到如图15-34所示的提示。

单击“选择身份验证类型”链接,然后选择“通过Internet”选项,如图15-35所示。

图15-35  选择身份验证方式

如图15-36所示,现在就可以看到用户管理的一些功能了。

单击“创建用户”链接可以创建用户账号,如图15-37所示。

单击“管理用户”链接可以对已有的一些用户进行管理操作:搜索、编辑、删除和配置角色,如图15-38所示。

         

图15-36  用户管理                                 图15-37  创建用户

图15-38  管理用户

由于现在还没有启用角色,因此暂时没有配置角色的功能。创建的这些用户都是保存在ASPNETDB数据库中的。

15.7.3  角色管理

如果没有启用角色管理,将会看到如图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.7.4  访问规则管理

访问规则管理用于授权用户或者角色对于路径的访问权限,如图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.7.5  其他配置

除了与安全相关的配置外,我们还可以通过网站管理工具来进行一些其他配置,图15-49和图15-50分别为SMTP服务器以及调试/跟踪的配置界面。

    

图15-49  配置SMTP服务器                              图15-50  配置调试和跟踪

你可能感兴趣的:(asp.net)