zoukankan      html  css  js  c++  java
  • 【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所示的提示。

    文本框:  
图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所示。

    文本框:  
图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  配置调试和跟踪

  • 相关阅读:
    Silverlight生命周期概述
    NVolecity 处理DataTable 小记
    Adobe CS6 安装的时候,安装到AdobeHelp 死掉的解决方法
    验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate 的解决办法
    为什么要写博客
    [原创]SQL发音考证(搜寻SQL86标准)
    [转载]《暗时间》:为什么你应该(从现在开始就)写博客
    [转载]《暗时间》:书写是为了更好的思考
    [原创]手把手教你写网络爬虫(1):网易云音乐歌单
    javascript简单的日历实现《转》
  • 原文地址:https://www.cnblogs.com/cuishao1985/p/1574161.html
Copyright © 2011-2022 走看看