【发布时间】:2023-03-12 19:55:01
【问题描述】:
由于对 Temporary ASP.NET Files 文件夹的权限不足,我遇到程序集绑定失败。
应用程序使用 (web.config) 表单身份验证,Impersonate = True 和 IIS Windows 集成身份验证。
根据ASP.NET Identity Matrix,这意味着 WindowsIdentity 解析为 Domain\UserName,根据ASP.NET Required Access Control Lists (ACLs),WindowsIdentity 需要对 Temporary ASP.NET Files 文件夹的读/写权限。
使用 Fusion 日志查看器,我可以确认程序集绑定失败是由于 Domain\UserName(在安全中属于“用户”组)只有对该文件夹的读取权限,但没有写入权限。
问题是:
将写入权限分配给 Temporary ASP.Net Files 文件夹是否存在任何安全隐患?
这样的服务器配置更改常用吗?如果不是,为什么 WindowsIdentity 会为这种 web.config 设置组合解析为 Domain\UserName - 或者在这种情况下不应该使用这种组合?
注意:仅当非管理员用户是第一个点击该页面时才会出现此问题。如果由于管理员用户点击页面,程序集已经编译并存储在临时 ASP.NET 文件中,则后续用户没有问题。我不希望将程序集放在 GAC 中。
【问题讨论】: