我已经使用 .Net Forms 身份验证设置了权限,该身份验证非常适合 Umbraco 成员(member):
<!-- 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。
这一切似乎都是因为没有经过身份验证,就好像我以成员(member)身份登录,然后我以用户身份登录,它会完美地显示所有内容。相反,如果我仅以用户身份登录,则大多数内容根本看不到。
我做错了什么?
谢谢。
最佳答案
我认为您从错误的角度来处理这个问题。您可以通过 Umbraco UI 控制公共(public)访问 - 无需修改 web.config。
- 确保您至少设置了一个成员组
- 右键单击“Home”节点并选择“公共(public)访问”
- 从可用选项中选择“基于角色的保护”
- 选择成功验证后有权访问您网站的成员组(角色)。
- 选择您的登录页面和错误页面,然后点击更新。
以下视频应有助于演示实现您所要求的目标所需的基本步骤:
关于.net - 使用 .Net Forms 对用户和成员进行 Umbraco 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14560790/