使用.Net Forms为用户和成员进行Umbraco身份验证

时间:2013-01-28 11:14:10

标签: .net forms-authentication umbraco

我使用.Net Forms身份验证设置权限,这对Umbraco会员非常有用:

<!-- Public access permissions -->
<location path="scripts"><system.web><authorization><allow users="?"/></authorization></system.web></location>
<location path="images"><system.web><authorization><allow users="?"/></authorization></system.web></location>
<location path="css"><system.web><authorization><allow users="?"/></authorization></system.web></location>
<location path="umbraco"><system.web><authorization><allow users="?"/></authorization></system.web></location>

<system.web>
  <authentication mode="Forms">
    <forms name="yourAuthCookie" loginUrl="login.aspx" protection="All" path="/" />
  </authentication>
  <authorization>
      <deny users="?"/>
  </authorization>
</system.web>

因此,除非脚本和样式除外,否则成员将无法访问该站点,因此可以正确查看登录页面。

当我尝试验证用户时出现问题(Umbraco中的用户表示使用CMS的用户,而不是访问该站点的用户)。我试图打开umbraco /文件夹和umbraco / login.aspx等,但它没有正确显示cms。

所有这些似乎都是由于未经过身份验证,就像我以成员身份登录,然后以用户身份登录,它将完美地显示所有内容。相反,如果我只以用户身份登录,那么大多数事情根本就没有了。

我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:2)

我认为你是从错误的角度接近这个。您可以通过Umbraco UI控制公共访问 - 无需修改web.config。

  1. 确保您已设置至少一个成员组
  2. 右键单击“主页”节点,然后选择“公共访问”
  3. 从可用选项中选择“基于角色的保护”
  4. 选择成功进行身份验证后允许访问您网站的成员组(角色)。
  5. 选择您的登录和错误页面并点击更新。
  6. 以下视频应该有助于演示为达到您的要求所需的基本步骤:

    http://umbraco.com/help-and-support/video-tutorials/umbraco-fundamentals/members/role-based-protection/TVPlayer

答案 1 :(得分:0)

由于没有人回答我会说我发现将这些文件夹添加到我公开的那些文件夹中似乎很好地完成了这个技巧,也许我需要添加其他内容将来它似乎有效:

<location path="umbraco"><system.web><authorization><allow users="?"/></authorization></system.web></location>
<location path="umbraco_client"><system.web><authorization><allow users="?"/></authorization></system.web></location>
<location path="DependencyHandler.axd"><system.web><authorization><allow users="?"/></authorization></system.web></location>

我在根目录中添加了umbraco的文件夹和名为DependencyHandler.axd的虚拟文件。

但是,如果有人知道更好的解决方案,请不要犹豫,请。