C# 如何传播在安全向导中创建的网站的用户权限?

C# 如何传播在安全向导中创建的网站的用户权限?,c#,asp.net,login,C#,Asp.net,Login,很抱歉我问了个新手问题,但我似乎无法理解。我基本上遵循了Microsoft的这个示例,介绍了如何创建具有登录名的网站: 我确实与示例有所不同,因为我继续创建了角色(管理员、用户)。我创建了一个名为“Admin”的文件夹,里面有一个网页。我将安全向导配置为拒绝匿名用户、用户和所有用户访问该页面。当我在VisualStudio中运行该页面时,除非我登录,否则它不会让我看到该页面,但一旦我登录,我就可以看到该页面。当我发布网站并从另一台计算机(甚至是本地计算机)上尝试时,它将允许我在不登录的情况下查

很抱歉我问了个新手问题,但我似乎无法理解。我基本上遵循了Microsoft的这个示例,介绍了如何创建具有登录名的网站:

我确实与示例有所不同,因为我继续创建了角色(管理员、用户)。我创建了一个名为“Admin”的文件夹,里面有一个网页。我将安全向导配置为拒绝匿名用户、用户和所有用户访问该页面。当我在VisualStudio中运行该页面时,除非我登录,否则它不会让我看到该页面,但一旦我登录,我就可以看到该页面。当我发布网站并从另一台计算机(甚至是本地计算机)上尝试时,它将允许我在不登录的情况下查看页面


我确信我不知道如何正确发布数据库。当我第一次发布页面时,我在安全向导中创建的登录名无效,因此我将aspnetdb复制到我的应用程序目录中的App_Config文件夹中,它现在允许我登录,但它似乎没有保存我设置的访问规则。我很确定我没有正确发布,但我无法确定发布时移动设置的正确方式。

我找到了答案,显然这被认为是一个错误是VS(可能不是)

但答案可以在这里找到


访问规则不在数据库中,而是在web.config中。可能您的web.config没有与应用程序一起正确部署

您可以使用文件夹或单个页面的location元素()在web.config中编辑拒绝/访问规则:

<configuration>
   <location path="Logon.aspx">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>

因此,您需要确保本地计算机上的规则也在服务器的web.config中。这不是自动完成的