<;身份模拟=“;真“/>;

本文关键字:gt 模拟 lt 身份 | 更新日期: 2023-09-27 18:25:16

在我的网站中,登录的用户可以更改他们的个人资料图片,这个过程包括将上传的图像保存到网站根目录中的文件夹中。

当我测试它时,我收到一个错误,我应该使用权限授予对此特定文件夹的访问权限。

我无法控制控制面板,他说他确实向其他授予了图像文件夹读取写入权限。

再次测试后,再次出现相同的错误,因此我编辑了web.config并包含:

<identity impersonate="true"/>

现在一切似乎都很顺利。但是,我刚才在这里做了什么?是否存在安全风险?我是否允许所有人匿名访问我的网站?

<;身份模拟=“;真“/>;

但是,我刚才在这里做了什么?

您现在以客户端用户的身份运行您的网站。

是否存在安全风险?

这将取决于此帐户在服务器上拥有的权限。通常,使用拥有大量特权的帐户运行网站是不好的做法。理想情况下,您应该将网站配置为在您明确授予所需文件夹权限的帐户下运行。

你的方法的问题是,如果另一个无法访问指定文件夹的用户访问你的网站,这对他来说是行不通的。另一方面,如果这是预期的行为,那么您可能可以通过模拟用户身份来进行操作。

我是否允许所有人匿名访问我的网站?

不,这与身份验证无关。

您所做的是授予用户在登录用户下工作的权限。

而且,让模拟成为现实也存在安全风险。

如果你正在制作中,我建议你阅读这篇文章http://support.microsoft.com/default.aspx?scid=kb;en-us;329290

"在web.config中使用模拟可以覆盖为应用程序运行的应用程序池配置的任何标识-这只是一种更细粒度的控制标识的方法(在应用程序级别与应用程序池级别),因此可以在同一个应用程序池上运行两个应用程序,但其中一个应用使用模拟来使用另一个标识。"礼貌:应用程序池身份与模拟身份?