Kentico 8 - 页面访问:拒绝除角色以外的所有用户
Kentico 8 - page access: deny for all users except a role
我现在要做的是只允许特定角色的用户访问页面(及其子页面)。这是我现在得到的:
用户
用户 A -> 角色 A、角色 B 的成员
用户 B -> 角色 B 的成员。
目录树
主节点
要保护的页面
其他需要public的页面。
权限 "PAGE TO SECURE"
- 添加 "Role A" 并检查 "full control" 上的 "Allow"。 "Required Authentication" 设置为 "Yes".
期望的结果
"PAGE TO SECURE" 仅当用户是角色 A 的一部分时才可访问,无论如何事实也是其他角色的一部分。
我得到了什么
- 如果用户通过身份验证,则无论角色如何,它都可以看到 "Page to secure"。
我尝试了什么
将所有其他角色的页面权限添加到 "Deny"。由于 "Deny" 的优先级高于 "Allow",尽管用户 A 也获得了正确的角色,但仍然不允许其查看该页面。
按照此线程 http://devnet.kentico.com/forums?forumid=54&threadid=23234 上的建议(适用于 kentico 5,但这是迄今为止我发现的关于此问题的唯一线程)添加另一个节点并将其设置为保护页面的父节点,然后将拒绝所有设置到这个新的父节点,然后中断继承并仅允许角色 A。这不起作用,因为用户 B 仍然能够访问该页面。
以上文章讨论了创建自定义 Web 部件。我不想将这种方法用于这样的基本功能。希望有另一种方法可以实现这一目标。
你不能通过权限来做到这一点,因为权限 "Deny" 的等级高于 "Allow"。因此,当用户处于角色 A 和 B 中时,A 具有 Allow 和 B Deny,则 Deny 处于阻塞状态。
唯一的方法是创建您自己的 Web 部件,它将管理它。
恐怕你错了。我能够在本地进行设置。
这是我的配置:
页面安全性:
- "My test role" 具有阅读和浏览权限
- 它甚至不需要身份验证,但在需要身份验证时也可以使用
设置 -> 安全和会员资格
- 检查页面权限设置为"All Pages"(如果页面需要身份验证,安全区域也应该有效)
不在 "My test role".
中的任何人都被拒绝访问
希望对您有所帮助
- 转到安全页面
- 设置需要身份验证
- 添加角色 A,并授予对文档的访问权限
- 确保经过身份验证的用户不在列表中(如果需要则中断继承。唯一列出的应该是角色 A)
只有角色 A 的人才能访问该页面。如果您列出的角色 "Autenticated Users" 的访问权限设置为拒绝,那将胜过您的角色选择。
我现在要做的是只允许特定角色的用户访问页面(及其子页面)。这是我现在得到的:
用户
用户 A -> 角色 A、角色 B 的成员
用户 B -> 角色 B 的成员。
目录树
主节点
要保护的页面
其他需要public的页面。
权限 "PAGE TO SECURE"
- 添加 "Role A" 并检查 "full control" 上的 "Allow"。 "Required Authentication" 设置为 "Yes".
期望的结果
"PAGE TO SECURE" 仅当用户是角色 A 的一部分时才可访问,无论如何事实也是其他角色的一部分。
我得到了什么
- 如果用户通过身份验证,则无论角色如何,它都可以看到 "Page to secure"。
我尝试了什么
将所有其他角色的页面权限添加到 "Deny"。由于 "Deny" 的优先级高于 "Allow",尽管用户 A 也获得了正确的角色,但仍然不允许其查看该页面。
按照此线程 http://devnet.kentico.com/forums?forumid=54&threadid=23234 上的建议(适用于 kentico 5,但这是迄今为止我发现的关于此问题的唯一线程)添加另一个节点并将其设置为保护页面的父节点,然后将拒绝所有设置到这个新的父节点,然后中断继承并仅允许角色 A。这不起作用,因为用户 B 仍然能够访问该页面。
以上文章讨论了创建自定义 Web 部件。我不想将这种方法用于这样的基本功能。希望有另一种方法可以实现这一目标。
你不能通过权限来做到这一点,因为权限 "Deny" 的等级高于 "Allow"。因此,当用户处于角色 A 和 B 中时,A 具有 Allow 和 B Deny,则 Deny 处于阻塞状态。 唯一的方法是创建您自己的 Web 部件,它将管理它。
恐怕你错了。我能够在本地进行设置。
这是我的配置:
页面安全性:
- "My test role" 具有阅读和浏览权限
- 它甚至不需要身份验证,但在需要身份验证时也可以使用
设置 -> 安全和会员资格
- 检查页面权限设置为"All Pages"(如果页面需要身份验证,安全区域也应该有效)
不在 "My test role".
中的任何人都被拒绝访问希望对您有所帮助
- 转到安全页面
- 设置需要身份验证
- 添加角色 A,并授予对文档的访问权限
- 确保经过身份验证的用户不在列表中(如果需要则中断继承。唯一列出的应该是角色 A)
只有角色 A 的人才能访问该页面。如果您列出的角色 "Autenticated Users" 的访问权限设置为拒绝,那将胜过您的角色选择。