当页面上发生回发时,我的应用程序显示以下错误:
禁止访问:您无权访问此服务器上的/文件夹/teste.aspx。
我可以正常访问页面,问题是发生回发时。例如,当发生 selectedindexchanged 或单击按钮时,就会出现此错误。但是,当通过超链接进行导航时,不会发生错误。
此问题仅在通过 Internet 访问应用程序时出现。匿名访问已启用。我正在使用 IIS6 和 windows server 2003。
当页面上发生回发时,我的应用程序显示以下错误:
禁止访问:您无权访问此服务器上的/文件夹/teste.aspx。
我可以正常访问页面,问题是发生回发时。例如,当发生 selectedindexchanged 或单击按钮时,就会出现此错误。但是,当通过超链接进行导航时,不会发生错误。
此问题仅在通过 Internet 访问应用程序时出现。匿名访问已启用。我正在使用 IIS6 和 windows server 2003。
这是一个权限问题。您需要做两件事:1) 更新项目的 Web.config 以模拟,2) 更新文件夹权限以允许对计算机上的 IUSR 帐户进行读/写访问。以下是详细信息:
首先,将其添加到 system.web 节点中的 Web.config 中:
<identity impersonate="true"/>
现在,在 Windows 资源管理器中转到您网站的根文件夹,右键单击它,然后单击“属性”选项。
然后转到安全选项卡。单击“要更改权限,请单击“编辑”文本旁边的“编辑...”按钮。
您将看到组或用户名列表。在该框下方,单击“添加...”
在下一个窗口“选择用户或组”中,单击左下角的“高级”按钮。
单击右侧的“立即查找”按钮。在搜索结果中,查找名为 IUSR_MachineName 的帐户(其中 machine name 是您的计算机名称)。左键选择它,然后单击“确定”
在“选择用户或组”窗口中单击“确定”
在组或用户名列表中,找到您刚刚添加的 IUSR 帐户,并确保在底部的“修改”、“读取/执行”、“列出文件夹内容”和“读取”框都被选中为“允许”。注意:您不必使用 Modify,但如果您有任何写入文件系统的代码,则需要检查。
试一试。
出于信息的考虑,它从 localhost 工作而不是远程工作的原因是因为工作进程将您标识为经过身份验证的用户。上面的说明强制 IIS 使用“Internet 访客帐户”,然后您手动授予该帐户所需的权限。
One last final note, is that if you still have a problem, you might want to try giving the same access (using the steps above) to the 'Network' and 'Network Service' accounts. I don't think they matter (I'm pretty sure they were for Vista, but I could be wrong), but just in case.