我相信有很多方法可以在Drupal中实现单点登录。我想知道* .drupal.org网站一直在使用的方法。如果我访问任何drupalconf网站http://chicago2011.drupal.org/user或http://london2011.drupal.org/user,它将使用drupal.org网站中提供的用户凭据对我进行身份验证。如果有人可以指出实现这些目标的模块或手册页面,我将不胜感激。提前致谢。
我相信有很多方法可以在Drupal中实现单点登录。我想知道* .drupal.org网站一直在使用的方法。如果我访问任何drupalconf网站http://chicago2011.drupal.org/user或http://london2011.drupal.org/user,它将使用drupal.org网站中提供的用户凭据对我进行身份验证。如果有人可以指出实现这些目标的模块或手册页面,我将不胜感激。提前致谢。
Answers:
您可以看看面包店单点登录系统。
它提到:“此模块始于2009年在旧金山Drupal.org重新设计的sprint,它是一种在* .drupal.org基础结构中管理单一登录的方式。”
有关其工作方式的更多详细信息,您可以查看这篇文章,其中有很好的解释:在Drupal中跨子域的单点登录,无需额外模块。
$cookie_domain
在settings.php
以.domain.com
你只要登录一次,用额外的好处$ cookie_domain不需要额外的模块来工作,这authentificates您在所有子域?
Drupal.org使用Bakery单点登录系统。
以下是将添加到项目的INSTALL.txt文件的描述:
Bakery使用共享cookie在同一域的Drupal网站之间提供单点登录。当用户在站点上进行身份验证时,Drupal将向他们发送一个cookie,其中包含该用户的唯一标识符。该用户的后续请求将包含该标识符,从而使Drupal能够识别该请求来自特定用户(即经过身份验证的用户)。
这个过程由Drupal核心处理。面包店增加了登录过程并发送了一个额外的cookie(内部称为CHOCOLATECHIP cookie)。如果用户现在访问一个子站点(在同一域中),则其浏览器将发送此由Bakery创建的cookie。在子站点上,Bakery将识别该cookie,并且如果有效,则将对用户进行身份验证(通过Drupal core的进程)。现在,用户只需在两个站点上都已通过身份验证即可。
这是有关Bakery工作原理的文章,因此是drupal.org上的SSO。