我目前正在创建一个文件夹并将文件写入需要在我们拥有的文件服务器上创建的文件夹。当我进行localhost测试时,它可以正常工作,但是当我从本地主机外部和另一台PC访问网站时。它说
System.UnauthorizedAccessException:访问“我的文件服务器”路径 URL'被拒绝
ASP.NET无权访问所请求的资源。考虑 授予对ASP.NET请求的资源访问权限 身份。 ASP.NET具有基本进程标识(通常是 IIS 5上的{MACHINE} \ ASPNET或IIS 6上的网络服务)如果使用的话 该申请不是冒充。如果申请是 冒充通过,身份将是 匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的用户 请求用户。
要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件, 选择“属性”,然后选择“安全”选项卡。单击“添加”进行添加 适当的用户或组。突出显示ASP.NET帐户,和 选中所需访问的框。
但问题是我已经在web.config中设置了标识impersonate =“true”,但它仍然无效。我的Web服务器在Winder Server 2003和IIS 6上运行
任何建议和帮助都将深受赞赏
由于 布兰登
答案 0 :(得分:3)
您需要向write
的{{1}}组授予modify
,Users
权限。
答案 1 :(得分:0)
检查您的IIS身份验证设置,并确保已启用匿名身份验证。
答案 2 :(得分:0)
嗨,大家好我能找到解决方案 如果您正在创建文件夹,请在创建文件或文件夹之前使用此代码
WindowsImpersonationContext ctx = WindowsIdentity.Impersonate(IntPtr.Zero);
// Insert the create code here
ctx.Undo();
我不知道这是否是最佳解决方案。如果有人知道此代码的缺点或含义,请分享和评论。
无所不知