【问题标题】:Sitecore: How and why use Sitecore Virtual Users in CD (content Delivery)Sitecore:如何以及为何在 CD 中使用 Sitecore 虚拟用户(内容交付)
【发布时间】:2016-03-10 10:46:59
【问题描述】:

我遇到过一些站点核心实现,其中虚拟用户在 CD 上使用(内容交付),其中站点具有成员资格(登录状态)。

我们正在将一个站点从 java CMS 迁移到 sitecore,并使用 azure ADB2C 和社交登录提供程序具有登录状态。登录后,用户将被重定向到带有令牌的 Sitecore CD。 根据用户成员类型,我们需要在整个站点中显示隐藏菜单项和小部件。

我知道使用虚拟用户的优势之一是 sitecore 用户无需支付许可费用。

如果有人可以帮助我理解以下内容,请不胜感激:

  1. 我们还需要在哪些其他场景中使用 CD 中的虚拟用户?
  2. 考虑到我们可以在 Session 中管理用户详细信息,使用虚拟用户有什么优势?
  3. 在 CD 中使用虚拟用户有哪些缺点?
  4. 使用虚拟用户和站点核心角色来保护菜单项和页面是否是最佳选择?或者应用 asp.net linq 查询等的安全性?

谢谢。

【问题讨论】:

    标签: asp.net security sitecore sitecore8


    【解决方案1】:

    我们还需要在哪些其他场景中使用 CD 中的虚拟用户?

    • 可能有几种情况,请考虑以下情况: 您拥有通用的身份验证机制,您可以将用户信息存储到其他一些应用程序已经使用的其他数据库中。现在,如果您希望用户能够使用相同的凭据登录,而无需在 Sitecore 应用程序中创建相同的用户,那么您可以使用此功能。根据其他数据库验证用户,如果有效,则在 sitecore 中创建虚拟用户。

    考虑到我们可以在 Session 中管理用户详细信息,使用虚拟用户有什么优势?

    • 虚拟用户与 Sitecore 中的物理用户无异。它可以做普通用户可以做的所有技巧。 另一个优点是,如果用户数量增加而不是实际创建用户,则可以使用虚拟用户。

    在 CD 中使用虚拟用户有什么缺点?

    • 在正常使用情况下,使用 CD 上的虚拟用户没有任何缺点。考虑到共享环境的可扩展性高使用率,A​​ccessResultCache 可能会出现异常行为。
    • 另一个缺点是如果 CD 服务器具有单独的核心数据库,您需要将角色发布到 CD 数据库服务器。

    使用虚拟用户和站点核心角色来保护菜单项和页面是否是最佳选择?或者应用 asp.net linq 查询等的安全性?

    • 我会说虚拟用户。这是整洁干净的方法。但您需要正确维护角色。

    更多信息请参考:https://pratiksatikunvar.wordpress.com/2015/06/24/sitecore-security-module-in-production-site/

    【讨论】:

      【解决方案2】:

      虚拟用户的概念可能与您的理解略有不同。将它们视为可以从任何地方获取其数据的用户的临时表示,例如您的 azure 提供商。

      在没有虚拟用户的情况下,默认情况下所有用户详细信息都存储在核心 aspnet 成员表中。虚拟用户允许人们“登录”,但不会创建相关的数据库记录。

      听起来您正在使用的一种常见情况是用户和角色数据保存在其他地方(天蓝色/广告)。在查询此数据时,会创建一个具有相关角色/配置文件等的虚拟用户。当 sitecore 评估安全性时,会使用此虚拟用户数据。

      使用它们而不是会话之类的东西的优点是所有站点核心安全层都将尊重其中保存的数据。如果您做了一些需要大量开发工作的自定义操作。

      虚拟用户和基于许可证的用户之间没有联系 - 许可证通常允许并发编辑到 cms,这与“用户”是不同的概念。

      【讨论】:

        猜你喜欢
        • 2018-05-08
        • 2018-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多