c# - <identity impersonate ="true"/>的正确使用

标签 c# asp.net permissions impersonation

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

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

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

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

<identity impersonate="true"/>

现在一切似乎都很完美。但是,我刚刚在这里做了什么?有没有安全隐患?我是否授予所有人匿名访问我的网站的权限?

最佳答案

BUT, what did I just do here?

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

Is there any security risk?

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

您的方法的问题在于,如果另一个无权访问指定文件夹的用户访问您的网站,则该方法对他不起作用。另一方面,如果这是预期的行为,那么冒充用户身份可能就没问题。

Did I grant anonymous access to my website for everyone?

不,这与身份验证无关。

关于c# - <identity impersonate ="true"/>的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17923918/

相关文章:

c# - 与代表有什么关系?

php - 在 php 中使用 fopen() 创建文件时的默认权限是什么?

c# - 使用通用 convert 方法在抽象类的不同实现之间进行转换

c# - 如何从 C# 中的 JSON 字符串中获取一些值?

c# - 创建带有垃圾桶的拖放系统以移除对象

c# - System.Net.Mail.SmtpException : The operation has timed out. 错误在asp.net发送邮件代码使用godaddy托管

c# - 将日期转换为毫秒

javascript - 如何使用 javascript/jquery 设置 asp Panel 元素可见/隐藏

shell - 基于 SSH key 限制访问

php - Laravel 4 权限