现在的位置: 首页 > 综合 > 正文

windows 2003 server 在装了sp1之后对asp.net的支持产生安全错误

2013年02月15日 ⁄ 综合 ⁄ 共 1874字 ⁄ 字号 评论关闭
 

错误显示:

“/UpBigFile”应用程序中的服务器错误。


对路径“c:\inetpub\wwwroot\upload\2851.txt”的访问被拒绝。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“c:\inetpub\wwwroot\upload\2851.txt”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误:

行 22:   //保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.
行 23:   //注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里"\"必须用"\\"代替
行 24:   myFile.PostedFile.SaveAs(Server.MapPath("\\upload\\"+newname+newext)); 
行 25:   //得到这个文件的相关属性:文件名,文件类型,文件大小
行 26:   fname.Text=myFile.PostedFile.FileName;

源文件: c:\inetpub\wwwroot\UpBigFile\WebForm1.aspx    行: 24

堆栈跟踪:

[UnauthorizedAccessException: 对路径“c:\inetpub\wwwroot\upload\2851.txt”的访问被拒绝。]
   System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) +888
   System.IO.FileStream..ctor(String path, FileMode mode) +52
   System.Web.HttpPostedFile.SaveAs(String filename)
   ASP.WebForm1_aspx.UploadFile(Object sender, EventArgs E) in c:\inetpub\wwwroot\UpBigFile\WebForm1.aspx:24
   System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e)
   System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   System.Web.UI.Page.ProcessRequestMain()


版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300


对策:
c:\inetpub\wwwroot\upload对这个文件夹"属性"-->"安全"-->对everyone增加write权限

另:尝试过对asp.net用户增加写权限甚至不能行,必须对everyone

抱歉!评论已关闭.