我正在做一个项目,涉及到Drupal 8中的多个站点。客户特别希望在所有4-5个站点上共享用户帐户。到目前为止,这些站点共享一个代码库,但没有共享数据库。在研究之后,我偶然发现了CAS模块。CAS允许多个登录吗?当建立一个帐户时,其他帐户可以在其他3-4个Drupal站点中生成吗?在Drupal 8中有更好的方法来做到这一点吗?此外,客户端最终希望拥有付费帐户注册中心。例如,用户可以在一个站点上付费并访问所有4-5个站点。完成这一任务有什么指导吗?如果没有CAS,那么在Drupal 8中,我还需要哪些其他模块/资源来实现这个功能呢?
到目前为止,我已经看到一些网站在Drupal 8中提供了建议,但主要是使用Drupal 7,没有明确的途径。CAS似乎是最稳定的选择,但不确定它是否会起作用。也有通过共享表共享用户的选择,尽管在我所读的论坛中这是不鼓励的。在Drupal 8中,最好的/正确的方法是什么?还是我应该回到Drupal 7?
发布于 2019-01-09 07:14:02
CAS模块是一个不错的选择,它在D8中非常稳定(在生产站点中使用它已经有一年多了)。Morerover,SSO看起来更适合那些在用户从一个站点跳到另一个站点时不需要重新连接的用户。
您应该知道,每个D8站点都有由CAS/外生模块的内容创建的自己的用户表。如果您计划基于某些东西(许多支付方法)授予不同的访问权限,则应该将这些信息存储在某个地方,而不考虑drupal (更确切地说:您的cas_服务器服务器可以检索的任何地方,我都没有尝试过)。根据CAS协议(CAS参数),可以在连接期间发送的属性中检索这些属性。
注意:考虑到每个网站都存储它的用户表,并且在用户"x“第一次连接到这个站点之前不一定知道它的存在,那么您只需要注意副本。最简单的方法可能是使用电子邮件作为UID,但你取消了这个想法。
https://drupal.stackexchange.com/questions/274853
复制相似问题