【问题标题】:Sitecore - Limit the roles a user hasSitecore - 限制用户拥有的角色
【发布时间】:2011-07-09 01:38:28
【问题描述】:

我们将 sitecore 与我们的 AD 集成。我们的用户有两个级别的访问级别 2 以及需要提升权限的所有其他内容。授予用户的访问级别由两个 cookie 确定。一个是 30 年到期的 aspxauto cookie(级别 2),另一个是在会话结束时到期(其他所有内容,即级别 4)。 level4 cookie 有一个用户所在角色的列表(此列表是用户在 AD 中所在角色列表的子集)。

我需要登录一个用户并根据可用的 cookie 将他们添加到角色中。

到目前为止,我已经创建了自己的 ADRoleProvider,它覆盖了 GetRolesForUser 方法并且只返回 cookie 中的角色。但这不起作用,当我直接进入安全页面时,它让我进入(因为用户是 AD 中角色的成员 - 即使 cookie 不存在)。

由于显而易见的原因,我无法删除用户所在的所有角色,然后在 AD 中将用户添加到 cookie 中指定的角色。有没有办法让 Sitecore 认为用户不在角色中?

-维克多

【问题讨论】:

    标签: security active-directory roles sitecore


    【解决方案1】:

    您是否尝试覆盖 IsUserInRole 方法?我认为它也会在 Sitecore 尝试解析访问权限时使用。

    【讨论】:

    • Alex,你一针见血。我继承了 LightAD ADRoleProvider 并覆盖了 IsUserInRole 和 GetRolesForUser 方法,这与一些 IsUserInRoleCache 和 AccessResultCache 清除以及项目解析器之后的自定义管道过程相结合,我拥有了我需要的一切。感谢您的领导!
    猜你喜欢
    • 2013-04-15
    • 2013-05-10
    • 2011-07-25
    • 2021-06-11
    • 2017-01-24
    • 2011-11-03
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    相关资源
    最近更新 更多