使用Umbraco 7.2.6
我使用基于成员角色的安全性来管理公共访问,我将整个站点设置为仅允许经过身份验证的成员(必须处于“活动”角色/组),所有页面都位于Home节点下。
前端菜单中要求的“登录”页面和“错误”页面可供未经过身份验证的用户公开访问,如何将其他任意页面公开?如忘记密码页面或关于页面。
我希望在内容编辑器的右键菜单中有一个“公开”或者某种东西的选项,这样终端用户可以像他们想做的那样毫无疑问地决定这一点,但除非我遗失不存在的东西。
我尝试使用web.config允许每页匿名访问,但我不确定在默认Umbraco内容的配置设置中使用的正确路径是什么。什么是主控制器?
我还尝试将不安全的页面放在Home层次结构之外,但似乎主页等一些东西试图使用节点导航来访问东西。我想我可以通过并删除所有这些,但我不想。
有这方面的经验吗?
答案 0 :(得分:1)
可悲的是,据我所知,这是不可能的。 Umbraco可以保护页面及其下的所有内容,而不会让您选择排除某些页面。更改web.config中的访问权限不会起作用,因为访问权限由自定义Umbraco代码控制。
基本上,一个名为" access.config"的文件是在您网站的App_Data文件夹中生成的,其中包含访问规则,Umbraco会使用此文件来确定哪些内容不受保护。
我通常处理这个问题的方法是将所有受保护的内容放在主页的子节点下,这样我就可以在受保护区域之外进行错误页面,密码重置等操作,并且可以公开访问。您可以在导航等中调用几种与安全相关的方法,以检查用户是否可以访问节点,例如
Umbraco.MemberHasAccess(id, path)
传入要针对当前用户检查的节点的id和路径。