0

请帮助我,我正在开发一个 asp.net 应用程序,它有一个主站点和子站点,如下所示:

site.com/parent

site.com/parent/child1

site.com/parent/child2

父站点上的任何页面都可以访问 child1 和 child2 文件并复制、删除它们

但问题是:child1 也可以访问 child2 文件并复制、删除它们!

我想阻止 child1 站点访问 child2 文件

我正在使用 asp.net 和 IIS 7.5

请帮忙 !

4

1 回答 1

2

设置具有不同安全性的站点,然后阻止对文件夹的访问。这将取决于您当前使用的身份验证类型,但让我们假设它是匿名访问。

假设 child1 和 child2 是虚拟目录:

创建一个您将分配给 child1 的用户和一个您将分配给 child2 的不同用户。

在 IIS 中,转到 child1 >> 身份验证。编辑匿名 >> 更改为 child1 的用户。

转到 child2 >> 身份验证。编辑匿名 >> 更改为 child2 的用户。

如果您不使用匿名访问,您可以对您使用的身份验证类型执行与上述类似的操作。(如果您使用 SSPI,请不要忘记您的数据库)

转到 child1 的文件和/或文件夹并将 ACL 更改为阻止 child2 用户。转到 child2 的文件和/或文件夹并将 ACL 更改为阻止 child1 用户。

编辑:

还要记住更改 ACL 以允许适当的用户访问文件/文件夹。因此,对于 child1 的文件/文件夹,添加允许读取、写入 child1 用户等。

如果您在共享主机上,我希望他们将允许您更改文件安全性。

您还可以在 web.config 中配置身份验证属性。例如,对于匿名身份验证:

http://msdn.microsoft.com/en-us/library/ms689465%28v=vs.90%29.aspx

于 2012-07-27T20:16:45.737 回答