本文介绍如何限制特定用户获取对指定 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 文件中的元素。 为此,请按照下列步骤进行操作:
启动文本编辑器(如记事本),然后打开 位于应用程序的根文件夹中的 Web.config 文件。
备注
如果 Web.config 文件不存在,请为 ASP.NET 应用程序创建 Web.config 文件。
如果要控制整个应用程序的授权,请将
<authorization>配置元素添加到<system.web>Web.config 文件中的元素。在
<authorization>元素中<allow>,添加配置元素和<deny>配置元素。 使用users特性指定以逗号分隔的用户名列表。 可以使用问号(?)作为与任何用户名匹配的通配符。 例如,以下代码拒绝访问除以下项以外的user1user2所有用户:<authorization> <allow users="user1, user2"/> <deny users="?"/> </authorization>保存 Web.config 文件。