Security Sitecore网站:基于登录用户角色显示/隐藏菜单项

Security Sitecore网站:基于登录用户角色显示/隐藏菜单项,security,asp.net-mvc-4,sitecore,roles,sitecore7.2,Security,Asp.net Mvc 4,Sitecore,Roles,Sitecore7.2,我正在使用asp.net MVC 5.0构建sitecore 7.2。该网站将有登录和每个用户将成为角色 我们需要根据登录的用户角色显示/隐藏站点菜单项。用户详细信息和角色存储在SAP后端 是否有人可以建议实现上述目标的最佳方法是什么?基本上,您需要将存储在后端系统中的角色映射到Sitecore角色。可能会考虑创建自定义角色提供程序(请参见下面文档中的) 登录后,将在登录用户的上下文中向Sitecore发出请求。因此,如果用户或其角色没有查看项目的权限,则不会在请求中返回该项目。这意味着您的菜单

我正在使用asp.net MVC 5.0构建sitecore 7.2。该网站将有登录和每个用户将成为角色

我们需要根据登录的用户角色显示/隐藏站点菜单项。用户详细信息和角色存储在SAP后端


是否有人可以建议实现上述目标的最佳方法是什么?

基本上,您需要将存储在后端系统中的角色映射到Sitecore角色。可能会考虑创建自定义角色提供程序(请参见下面文档中的)

登录后,将在登录用户的上下文中向Sitecore发出请求。因此,如果用户或其角色没有查看项目的权限,则不会在请求中返回该项目。这意味着您的菜单将不会显示他们无权访问的项目

您和内容编辑器可以控制哪些用户和角色可以通过安全编辑器访问,并通过内容编辑器中的access Viewer查看其访问权限

这些文件将包含您所需的一切-

还值得注意的是,Sitecore的Seucrity作为Ors管理角色。因此,如果用户的角色之一具有查看项目的权限,则用户可以查看该项目


如果您要求角色为Ands;每个角色在显示给用户之前都必须具有权限,请查看此帖子-

您需要SAP中当前用户的角色吗?有一个Odata API用于:

您可以实时查询API,但这当然需要当前用户登录SAP


或者-您可以使用另一个API并通过服务用户进行连接。

如果您未登录,该怎么办?隐藏所有与会员相关的菜单项?假设他们也不能访问该项,这非常简单。在安全编辑器中,选择默认/匿名用户,并勾选他们不应有读取权限的所有项目。这是因为在Sitecore中,未登录的用户被分配到SITE*/Anonymous的用户帐户*域