正确使用

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

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

我无法控制控制面板,他说他确实向Images文件夹授予了对其他人READWRITE权限。

再次测试之后,再次出现同样的错误,所以我编辑了web.config并包含:

 

现在一切似乎都很完美。 但是,我刚才在这做什么? 有安全隐患吗? 我是否允许每个人匿名访问我的网站?

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

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

有安全隐患吗?

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

您的方法的问题是,如果另一个无权访问指定文件夹的用户访问您的网站,它将无法为他工作。 另一方面,如果这是预期的行为,那么你可能会冒充用户身份。

我是否允许每个人匿名访问我的网站?

不,这与身份validation无关。

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

使冒充真实存在安全风险。

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

“在web.config中使用模拟可以覆盖为应用程序运行的应用程序池配置的任何身份 – 它只是一个更细粒度的方法来控制身份(在应用程序级别与ApplicationPool级别),所以你可以在同一个AppPool上运行两个应用程序,但其中一个使用模拟来使用另一个身份。“ 礼貌: 应用程序池身份与假冒身份?