Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Sitecore-限制用户的角色_Security_Active Directory_Roles_Sitecore - Fatal编程技术网

Security Sitecore-限制用户的角色

Security Sitecore-限制用户的角色,security,active-directory,roles,sitecore,Security,Active Directory,Roles,Sitecore,我们将sitecore与我们的广告进行了集成。我们的用户有两个级别的访问级别2和其他需要提升权限的内容。授予用户的访问级别由两个cookie决定。一个是aspxauto cookie,它将在30年后过期(级别2),另一个将在会话结束时过期(其他所有内容也称为级别4)。level4 cookie具有用户所处角色的列表(该列表是用户在AD中所处角色列表的子集) 我需要登录一个用户,并根据可用的cookies将其添加到角色中 到目前为止,我已经创建了自己的ADRoleProvider,它覆盖GetRo

我们将sitecore与我们的广告进行了集成。我们的用户有两个级别的访问级别2和其他需要提升权限的内容。授予用户的访问级别由两个cookie决定。一个是aspxauto cookie,它将在30年后过期(级别2),另一个将在会话结束时过期(其他所有内容也称为级别4)。level4 cookie具有用户所处角色的列表(该列表是用户在AD中所处角色列表的子集)

我需要登录一个用户,并根据可用的cookies将其添加到角色中

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

我无法删除用户所在的所有角色,在AD中,由于明显的原因,我只能将用户添加到cookie中指定的角色。有没有办法欺骗Sitecore,使其认为用户不是角色


-Victor

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

您是否尝试重写IsUserInRole方法?我认为当Sitecore试图解决访问权限问题时也会用到它。

Alex,你一针见血。我继承了LightAD ADRoleProvider并重写了IsUserInRole和GetRolesForUser方法,这与一些IsUserInRoleCache和AccessResultCache清除以及项解析程序之后的自定义管道过程相结合,我拥有了所需的一切。谢谢你的引导!亚历克斯,你正中要害。我继承了LightAD ADRoleProvider并重写了IsUserInRole和GetRolesForUser方法,这与一些IsUserInRoleCache和AccessResultCache清除以及项解析程序之后的自定义管道过程相结合,我拥有了所需的一切。谢谢你的引导!