浅析ASP.NET访问权限


  本文标签:ASP.NET访问权限

  .aspx页面form代码:

  1. <form id="form1" runat="server"> 
  2. <div> 
  3. <asp:Button ID="Button1" runat="server" Text="Button" OnClick=
    "Button1_Click" /><asp:FileUpload ID="FileUpload1" 
  4. runat="server" /> 
  5. div> 
  6. form> 

  
Button1的Click事件代码:

  1. this.FileUpload1.SaveAs(Server.MapPath(".")); 

  出现如下错误:

  “/linkupload”应用程序中的服务器错误  。
对路径“D:\HL\上传下载\linkupload”的访问被拒绝  。

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

  异常详细信息: System.UnauthorizedAccessException: 对路径“D:\HL\上传下载\linkupload”的访问被拒绝  。

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

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

  源错误:

  只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来  。若要启用此功能,请执行以下步骤之一,然后请求 URL:

  在产生错误的文件的顶部添加一条“Debug=true”指令  。例如:

  1. <%@ Page Language="C#" Debug="true" %> 
  2. 或:  
  3. 2. 将以下的节添加到应用程序的配置文件中:  
  4. <configuration> 
  5. <system.web> 
  6. <compilation debug="true"/> 
  7. system.web> 
  8. configuration> 

  请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译  。

  重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销  。在部署到生产方案之前,应确保应用程序调试已禁用  。以上介绍ASP.NET访问权限  。