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

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

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

摘要

基于 ASP.NET 的 Web 应用程序提供了多种方式让用户进行身份验证和授权,以获取对资源的访问权限。 限制对资源的访问的方式各不相同,具体取决于使用的身份验证方法。 例如,对于使用 Microsoft Windows 身份验证并启用模拟的应用程序,可以使用 New Technology File System (NTFS) 文件权限进行访问控制。 但是,对于使用 forms 身份验证的应用程序,必须修改 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使用 特性可以指定以逗号分隔的用户名列表。 可以使用问号 (?) 作为与任何用户名匹配的通配符。 例如,以下代码拒绝除 和 user2以外的user1所有用户访问 :

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

References