限制特定用户获取对指定 Web 资源的访问权限

本文介绍如何限制特定用户获取对指定 Web 资源的访问权限的方法。

原始产品版本: ASP.NET
原始 KB 数: 815151

总结

基于 ASP.NET 的 Web 应用程序为用户提供多种身份验证和授权以访问资源的方式。 限制对资源的访问方式因所使用的身份验证方法而异。 例如,对于使用Microsoft Windows 身份验证并启用模拟的应用程序,可以使用新技术文件系统(NTFS)文件权限进行访问控制。 但是,对于使用表单身份验证的应用程序,必须修改 Web.config 文件以限制访问。 本文介绍如何控制这两种 ASP.NET 身份验证方法的授权。

使用文件权限控制授权

对于使用Windows 身份验证并启用模拟的 ASP.NET Web 应用程序,可以使用标准 NTFS 文件权限来要求身份验证并限制对文件和文件夹的访问:

  • 若要要求身份验证,请删除 ASPNET 用户帐户对文件或文件夹的访问权限。
  • 若要限制对特定 Windows 用户帐户或组帐户的访问,请授予或拒绝对文件或文件夹的读取 NTFS 文件权限。

通过修改 Web.config 文件来控制授权

若要限制对使用表单身份验证 ASP.NET 应用程序的访问权限,请编辑<authorization>应用程序的 Web.config 文件中的元素。 为此,请按照下列步骤进行操作:

  1. 启动文本编辑器(如记事本),然后打开 位于应用程序的根文件夹中的 Web.config 文件。

    备注

    如果 Web.config 文件不存在,请为 ASP.NET 应用程序创建 Web.config 文件。

  2. 如果要控制整个应用程序的授权,请将<authorization>配置元素添加到 <system.web> Web.config 文件中的元素。

  3. <authorization> 元素中 <allow> ,添加配置元素和 <deny> 配置元素。 使用 users 特性指定以逗号分隔的用户名列表。 可以使用问号(?)作为与任何用户名匹配的通配符。 例如,以下代码拒绝访问除以下项以外的user1user2所有用户:

    <authorization>
        <allow users="user1, user2"/>
        <deny users="?"/>
    </authorization>
    
  4. 保存 Web.config 文件。

参考