【问题标题】:Read Write Permissions on IISIIS 上的读写权限
【发布时间】:2012-06-14 21:41:42
【问题描述】:

我在Content 目录和uploads 目录中创建了一个目录uploads,我在创建用户帐户时创建了一个目录。此设置在开发设置中运行良好,但是当我在本地 IIS 上发布站点时,我收到拒绝访问错误。

拒绝访问路径“C:\inetpub\wwwroot\Content\uploads/d1bed3b7-f9e1-486a-953a-37abc7b99dad”。

我有一个共享主机环境,我想问的是,我可以设置共享主机环境的权限吗?

有什么选择?

编辑

这里是为用户创建目录的代码(tnx to @Marko)

string UserGUID = Guid.NewGuid().ToString();
string path = HostingEnvironment.MapPath(@"~/Content/uploads");
Directory.CreateDirectory(path+"/" + UserGUID);

编辑

更改代码后错误消息得到改善

拒绝访问路径“C:\inetpub\wwwroot\Content\uploads\ab569312-c487-4a08-bf49-99f7c69303f6”。

【问题讨论】:

  • 视情况而定。不能通过发布设置目录权限;但是,一些共享主机提供商在他们的管理用户界面中有一个部分,您可以使用它来设置权限。

标签: asp.net asp.net-mvc-3 visual-studio-2010 iis-7


【解决方案1】:

路径有问题,你的斜线有误/

C:\inetpub\wwwroot\Content\uploads--------->/<----------d1bed3b7-f9e1-486a-953a-37abc7b99dad'

只要\uploads\ 路径具有可写权限,您在该文件夹中创建的任何文件夹/文件都应该从父级继承权限。

编辑

我不能 100% 确定为什么它在 cassini 中有效,但是将您的代码更改为这个(它使用 Path.Combine)而不是手动添加斜杠(这实际上是错误的斜杠)。

string UserGUID = Guid.NewGuid().ToString();
string path = HostingEnvironment.MapPath(@"~/Content/uploads");
string userPath = Path.Combine(path, UserGuid);
Directory.CreateDirectory(userPath);

如果所有这些都失败,请联系您的托管服务提供商以设置对 /uploads/ 文件夹的可写权限,或者使用管理面板(如果有)。

【讨论】:

  • 但是当我使用 cassini 时它工作正常...我已经编辑了问题以添加用于动态创建目录的代码,请看一下
  • 更改代码后错误的斜线消失了,我已经更新了错误消息... tnx 等待您的时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
  • 2013-10-04
  • 2015-02-14
  • 1970-01-01
  • 2020-12-07
相关资源
最近更新 更多