【发布时间】:2011-09-14 22:05:35
【问题描述】:
asp.net 4.0、Visual Studio 2010、Windows 7、ASP.NET 开发服务器、FileUpload 控件
我整天都在与这个问题作斗争。我已授予每个人对目录的完全控制权。
我有一个 FileUpload 控件,当代码尝试 SaveAs() 时,它会抛出 System.UnauthorizedAccessException 并且我收到错误:
{"Access to the path 'D:\FileAttachments\17' is denied."}
_HResult = &H80070005
Source = "mscorlib"
StackTrace = "at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at System.Web.UI.WebControls.FileUpload.SaveAs(String filename) ..."
我将目录从网站下移出
我已授予每个人、我、网络服务、经过身份验证的用户、系统、管理员、用户、IIS_IUSRS 的完全控制权,
我已经运行 attrib 以删除只读访问权限
我已经添加到 web.config
我已将应用程序池标识更改为网络服务 - 但不确定是否有任何作用,因为我认为 VS 2010 使用其自己的开发服务器。
WindowsIdentity.GetCurrent 返回
IdentifierAuthority = NTAuthority {&H5}
AuthenticationType = "NTLM"
Name = "mymachine\myname"
但在我尝试添加权限的 Windows 资源管理器中 - 它无法识别名为“NTAuthority”的用户
有什么想法吗?谢谢
(对时髦的格式感到抱歉 - stackoverflow 没有让我发布问题,因为它认为我有没有标记为代码的代码)
【问题讨论】:
-
该死。问题实际上是一个错误的文件名。当问题是错误/丢失的文件名时,不确定为什么会引发安全/权限错误。
标签: asp.net visual-studio-2010 file-upload