允许访问时访问被拒绝创建App_Data子目录

时间:2015-09-25 15:18:05

标签: asp.net-mvc-5 visual-studio-2015 sql-server-express sql-server-2014

TLDR见下行

在我试图启用角色时,我只有一个又一个障碍。一旦我解决了,那就是另一个。我的机智已经结束了。

我在VS2015 Enterprise中使用代码优先迁移MSSQLServer 2014.我已经添加了明文标记,因为它出现在错误消息中。我的网站由smarterasp.net托管。

这些是我最近的故障排除步骤,引导我到现在的位置:

我已经离开了这个:
"The certificate chain was issued by an authority that is not trusted" when connecting DB in VM Role from Azure website

对此:
How can I create a local user profile for the anonymous user of an ASP.Net MVC application under IIS 7?

对此:

  

拒绝访问创建App_Data子目录   说明:出于安全原因,身份和网络服务' (在此Web应用程序运行的情况下),没有权限在应用程序根目录中创建App_Data子目录。 ASP.NET将用于诸如Membership和Profile等服务的Microsoft SQL Express数据库文件存储在应用程序的App_Data子目录中。

我在此页面的部分内容中包含了截图:

enter image description here

现在该错误页面上的说明是明确的,我已经按照MSDN说明进行了操作,我甚至将其设置为允许修改(在黑暗中疯狂刺伤)

所以我的:

  1. Visual Studio文件夹提供NETWORK SERVICE读取权限。
  2. 项目名称(在Visual Studio / Projects / Project Name下)文件夹提供NETWORK SERVICE修改,读取和执行,读写权限。
  3. 同样,App_Data文件夹也是如此。
  4. enter image description here

    在我的网页配置中,我有:

    <roleManager
        enabled="true"
        cookieName=".ASPXROLES" cookieTimeout="30"
    ...
        defaultProvider="AspNetSqlRoleProvider">
    </roleManager>
    
    <entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" 
        type="System.Data.Entity.SqlServer.SqlProviderServices, 
            EntityFramework.SqlServer" />
    </providers>
    

    我不知道我做错了什么 任何帮助表示赞赏。

    修改
    我把头撞在墙上。

    我认为这是问题,在App_Data文件夹上检查了只读属性,当我进入此设置以及其中的mdf和日志文件时,它们都具有读写访问权限和完全控制权用户帐户。

    我已禁用父文件夹的继承 尝试从父文件夹传播继承的属性。 我已经检查过我的服务器允许远程连接以及我可以在IIS,SqlServer,文件夹中找到的任何权限,这让我很疯狂。

    我无法取消选中此只读属性。

    enter image description here

1 个答案:

答案 0 :(得分:0)

当我发表评论时,它会起作用:

<authorization>
    <allow roles="*" />
....
</authorization>

它要访问的页面可能是我实际需要做的误导。在我看来,上传您的应用数据并不好。

当我把它拿出来时,它正在工作。我需要修改我的授权,这样用户才能登陆网站并登录,而不是仅仅锁定到管理员。没有规定允许匿名者真正登陆该网站。

因为没有认证没有规定在网站上登陆,所以它正在寻找一个本地数据库。

我要感谢https://stackoverflow.com/users/734151/personne3000指导我访问主机服务器文件,因为我忽略了在服务器站点检查它们,并且只是通过filezilla进行检查,并且有两个不同的东西。