我们将sitecore与AD集成在一起。我们的用户有两级访问级别2以及其他需要提升权限的内容。授予用户的访问级别由两个cookie决定。一个是aspxauto cookie,它将在30年后到期(第2级),另一个是在会话结束时到期(其他一切也称为level4)。 level4 cookie具有用户所在的角色列表(此列表是用户在AD中的角色列表的子集)。
我需要登录用户并根据可用的Cookie将其添加到角色。
到目前为止,我创建了自己的ADRoleProvider,它覆盖了GetRolesForUser方法,只返回cookie中的角色。但这不起作用,当我直接进入安全页面时,它让我进入(因为用户是AD中角色的一员 - 即使cookie不存在)。
我无法删除用户所在的所有角色,然后在AD中将用户仅添加到cookie中指定的角色,原因很明显。有没有办法让Sitecore认为用户不在某个角色?
-Victor
答案 0 :(得分:1)
您是否尝试覆盖IsUserInRole方法?我认为当Sitecore尝试解析访问权限时也会使用它。