分布式身份验证系统(不同域,分隔数据库) -- users 领域 drupal 相关 的问题

Distributed authentication system (different domains, separatate databases)


5
vote

问题

中文

我们有多个小型网站(微量学)和一个主要的高流量,具有大用户群。现在,要求是构建身份验证系统,该系统应允许用户在网络上使用相同的身份浏览。

所有网站都在不同的域上运行,由Drupal 6 CMS供电,并具有单独的数据库(因此共享与前缀的表不是一个选项+它在DB中创造了一个巨大的混乱)。

这里是我提出的核心要求集:

  1. 用户应该能够以与网络中的所有站点相同的凭据登录
  2. 用户在主站点(存储)和网络中的所有Micro站点之间的数据共享
  3. 当用户更改数据时,网络上的数据同步(更新电子邮件或密码)
  4. 登录/注册过程应该是无缝的,一致的
  5. 在网络上的任何网站上注册,并使用该标识稍后登录。

将来可能需要添加OpenID身份验证选项。

基本上我们正在看类似Stackexchange的东西,但不确定他们是否有中央用户基地。

我正在考虑将包括2个部分(模块)的自定义解决方案,其中一个将存储在主站点上,用于用户数据存储和响应来自客户端的请求。第二部分(模块)将放置在每个微型材料上,该微型部门将向大师发送请求。某种客户端 - 服务器设置。

我立刻看到的并发症是#3。数据跨网络偶像。

我只是不想重新发明轮子,也许在这个方向上已经完成了一些工作。

期待您对如何接近此项目的想法。

编辑:

最近我发现了关于主题的相关线程:

http://groups.drupal.org/node/24916
http://drupal.org/node/744400

英文原文

We got multiple small websites (microsites) and one main high traffic one with big users base. Right now the requirement is to build authentication system which should allow users to loign with the same identity across the network.

All website are running on different domains, powered by Drupal 6 CMS and have separate databases (so sharing tables with prefix is not an option + it creates a huge mess in the db).

Here is the set of core requirements I came up with:

  1. Users should be able to login with the same credentials to all sites within the network
  2. Userxe2x80x99s data sharing between Main site (storage) and all micro sites within the network
  3. Data synchronization across the network when user changes the data (update email or password for example)
  4. The login/registration process should be seamless and consistent
  5. Register on any of the sites across the network and use that identity to login later on.

In the future there might be a need to add openid authentication options.

Basically we are looking at something similar stackexchange does, but not sure if they have central users base on not.

I was thinking about custom solution which will include 2 parts (modules), one will be stored on the Main site for users data storing and responding to requests from clients. Second part (module) will be placed on each microsite, which is going to send requests to the Master. Some kind of client - server setup.

One of the complications I see right away is #3. Data Synhcronization across the network.

I just don't want to reinvent the wheel and maybe some work is already done in this direction.

Looking forward to your ideas on how to approach this project.

EDIT:

Recently I've found couple related threads on the topic:

http://groups.drupal.org/node/24916
http://drupal.org/node/744400

  

回答列表

2
 
vote

这可能是矫枉过正,但你考虑使用类似LDAP的东西吗?

有一个 ldap集成模块和 ldap配置模块。两者都很好地工作。

 

This might be overkill, but have you considered using something like LDAP?

There is an LDAP integration module and an LDAP provisioning module. Both of which work quite well.

 
 
 
 
2
 
vote

你可能想看看开发种子的"简单的标志 - 与Openid "博客文章。我相信它只是一个概念证明,但他们使用Openid在网站网络上进行单一登录。

 

You might like to take a look at Development Seed's "Simple Sign-On with OpenID" blog post. I believe it's only a proof of concept, but they use OpenID to do single sign on across a network of sites.

 
 
0
 
vote

旧问题,但我刚刚使用 OpenID提供程序登录Drupal 7网站(依赖方)使用在另一个Drupal 7实例(提供商)上创建的帐户。

只需在提供程序上启用OpenID提供程序(毫不奇怪),然后在依赖站点上启用核心OpenID模块,并将OpenID URL指向提供商的URL。

电子邮件已被转移。我没有测试其他字段。此外,我无法在依赖网站上更改我的密码或电子邮件 - 我的提供商帐户的密码未被接受。

 

Old question, but I've just used OpenID Provider successfully to login to a Drupal 7 site (the relying party) using an account created on another Drupal 7 instance (the provider).

Just enable OpenID Provider on the provider (not surprisingly) then enable the core OpenID module on the relying site, and point the OpenID URL to the provider's URL.

The email was transferred across. I haven't tested other fields. In addition, I wasn't able to change my password or email on the relying site - my provider account's password wasn't accepted.

 
 
0
 
vote

有趣的问题,我很快就面临着同样的挑战。我是德鲁佩尔的新手,所以我没有明确的答案。然而,我正在看 http://www.janrain.com/ (以前是RPX)。它们提供不同的登录解决方案,专门为"联邦站点" 提供: http://www.janrain.com/products/federy 有一个drupal模块 http://drupal.org/project/rpx

来自模块项目页面的一些细节:

Janrain社交登录模块将Drupal站点与Janrain Seeware登录服务集成。

使用Janrain Seeware登录,Drupal网站可以使用流行的社交网络验证新的和现有用户,将这些网站的用户配置文件数据映射到Drupal字段,并在其社交网络上与用户的朋友共享Drupal内容。

该模块可帮助Drupal网站快速,无缝地与30多个社交网络集成,包括FaceBook,Twitter,Google,Yahoo!,LinkedIn,AOL,PayPal和Microsoft帐户。

而不是必须与您自己的每个网站集成(并随着时间的推移管理API变化),Janrain接触为您提供沉重的提升。使用此模块,您可以在10分钟内完成设置。结果是加速的用户注册过程,增强了收集用户数据的能力,以及从内容的病毒促销中增加了站点流量。

 

interesting problem, I'm faced with the same challenge soon. I'm new to Drupal so I don't have a definite answer. However I'm looking at http://www.janrain.com/ (formerly RPX). They provide different login solutions and one specifically for "federated sites": http://www.janrain.com/products/federate There is a Drupal module for it http://drupal.org/project/rpx

Some details from the module's project page:

The Janrain Social Login module integrates Drupal sites with the Janrain Social Login service.

Using Janrain Social Login, Drupal sites can authenticate new and existing users with popular social networks, map user profile data from these websites to Drupal fields, and share Drupal content with a user's friends on their social networks.

The module helps Drupal websites quickly and seamlessly integrate with 30+ social networks includingFacebook, Twitter, Google, Yahoo!, LinkedIn, AOL, PayPal, and Microsoft Account.

Instead of having to integrate with each of these sites on your own (and manage API changes over time), Janrain Engage does the heavy lifting for you. Using this module, you can get setup in under 10 minutes. The result is an accelerated user registration process, an enhanced ability to gather user data, and increased site traffic from the viral promotion of your content.

 
 

相关问题

5  登录重定向?  ( Redirect on login ) 
我已经尝试过这个规则以及使用 hook_user ,没有运气。它肯定会进入登录案例(有一个看门狗日志),但重定向不会发生,并且在登录时仍然发送到 9988877665 。 我没有运气,没有: /** * Implementation of hook_user() */ function multistep_...

5  删除用户时会导致站点挂起的内容?  ( What can cause a site to hang when deleting a user ) 
当我尝试删除用户时,整个站点挂起,即drupal不再响应了。什么会导致它? 该站点没有安装任何特殊的用户配置文件模块。 编辑: 只有一个自定义(自制)模块,带有Hook_User,它打开 $op 。 "删除" 案例外观未验证: case 'delete': $sql = "DELETE FROM {m...

31  如何让用户取消发布并发布自己的内容?  ( How do i let users unpublish and publish their own content ) 
我想让用户取消发布并发布自己的内容。默认情况下,您必须为用户提供"管理节点" 权限,以便用户无法解除发布或发布内容。这是广泛的方式。我想让用户取消发布或仅在他们创建它时发布节点。这也意味着它们应该能够查看未发布的节点,如果才能创建它。 ...

3  user_is_anonmous()和user_is_logging_in()之间有什么区别?  ( What is the difference between user is anonymous and user is logged in ) 
两个功能有什么区别?何时应该使用,而不是另一个? ...

2  在哪里插入额外的注销功能的最佳位置?  ( Where is the best place to insert additional logout functionality ) 
在用户注销的情况下插入附加逻辑可能会在user.pages.inc中查看 function user_logout() .inc。此代码在核心模块中,您不应该编辑它,但工作得很好...例如,通过将以下代码添加到'user_logout()'函数的顶部... $last_run = variable_get('...

9  以编程方式冒充另一个用户,而不会导致当前登录用户退出  ( Programmatically impersonating another user without causing the currently logged ) 
如何更改全局 $user 的值,执行自己的代码,并恢复 99887664 的原始值,而不会导致当前用户注销如果发生错误? ...

3  核心论坛形式下拉空  ( Core forum form dropdown empty ) 
在D6站点中,当用户进入节点/添加/论坛时,他们发现下拉"论坛" 只是显示"请选择" 但是该菜单中没有任何内容。 PHP错误日志或看门狗中没有任何内容。 我相信用户有正确的权限 - 毕竟,表单确实显示。否则(admin)的下拉列表显示了站点上的所有不同论坛,都是空的,而且没有它不能提交表单。 我已经看到了几乎所有...

148  推荐的目录权限是什么?  ( What are the recommended directory permissions ) 
我正在努力部署drupal 7站点,我找不到关于建议的安全有效文件和目录权限的任何文档。 特别是 default/files/ (也是子目录?), settings.php , .htaccess 以及其他任何我应该知道的。 ...

2  如何表示用户作为“系统帐户”?  ( How to denote a user as a system account ) 
在Unix世界中,有"用户帐户" 用于人类使用,并且有软件使用"系统帐户" 。 在一个drupal站点上,我有几个系统账户旨在通过 services.module API呼叫使用。 我希望这些帐户能够通过服务API(显然)登录,但我想阻止这些帐户通过标准 99887665 表单来登录。我还想防止这些帐户在标准的"活...

6  我应该如何处理容器表单元素?  ( How should i handle container form elements ) 
我已将一些自定义字段添加到寄存器用户表单中,我发现它们被发送回,包装在"容器" 类型元素中。我的代码需要处理所有类型的自定义寄存器字段。 我该如何解析这些对象并从中提取字段?我应该调查阵列,我可以在那里找到什么? 我似乎无法在这些对象上找到任何好的文档。 编辑: 通过用户注册收到的常规字段可能如下所示: na...

5  定制登录/注册的最佳方法  ( Best method for custom login register ) 
我想创建一个自定义登录名和寄存器页面。我希望两种表格在彼此上方的模板的内容区域中显示在正面上,而不是在单独的节点上。此外,我想尝试重复使用已存在的代码以验证表单。 我已经四处寻找并找到了不同的方式来实现这一目标,所以我想知道做这个问题的最佳方法。案例块,模块或模板或......? 将欣赏到内容或特定示例的链接。 ...

2  如何允许用户确定其他用户可以编辑其内容?  ( How do i allow users to determine which other users can edit their content ) 
我想让用户指定其他用户可以编辑它们的内容。基本上,用户将能够创建一段内容,然后允许它们编辑但没有其他用户可以编辑(接受"管理员" )。这是迄今为止的所有标准的笨蛋的东西。但现在我想让用户给予其他特定用户的权限来编辑他们创建的内容。因此,"创建者" 现在可以分配"编辑器" ,让其他用户编辑原始用户创建的内容。 如果尚不...

1  在权限页面上添加特定模块“组”的自定义权限  ( Add custom permission to specific module group on permissions page ) 
使用自定义模块,如何将权限添加到权限页面上的核心/贡献模块"组" ,而无需攻击核心/贡献的模块? 示例: ...

4  如何在注册时重定向到命名节点  ( How to redirect to a named node upon registration ) 
给出了一个D6网站,用户必须确认其电子邮件地址,我希望新注册人立即重定向到解释电子邮件验证过程的页面节点。 我试图使用动作和触发器来执行此操作,但"触发:在发送用户帐户之后" 在发送激活电子邮件之前执行,因此消息被阻止,从未退出。这似乎是一个未解决的问题追踪,如D5。 登录目标模块列为支持D7.x但不是6.x的...

6  “企业”身份验证,单个登录和多个站点的用户配置  ( Enterprise authentication single sign on and user provisioning for multiple s ) 
我正在寻找一个用户配置,身份验证和单点登录的解决方案,这将使我能够在我们工作的所有网站上管理我公司所有工作人员的帐户。 我的主要目标是有一个单点我可以添加/删除用户来授予/撤销对我们员工需要工作的所有网站的访问。这显然是一个非常有用的东西,但它也意味着我可以要求员工定期更改密码,没有它需要一天才能完成每个网站等。所有...

1  节点访问表变为空  ( Node access table goes empty ) 
我目前有一个项目,我正在使用node_save将mulitple记录插入drupal。它通常是一百一的几百。出于某种原因,有时node_access表最终为空,导致数据"出现" 删除给用户。 有谁知道可以发生什么? 我已审核node_save代码,通知是通过 node_access_acquire_grants($n...

10  用户如何只访问一个特定节点,而不是那种类型的所有节点?  ( How can a user access only one specific node and not all nodes of that type ) 
我有一个用户查看和编辑特定内容类型的权限。这为所有用户提供了特权来查看和编辑该类型的所有节点。但实际上,我想为每个用户创建一个唯一节点,这样只有该用户可以查看和编辑它。我如何在Drupal 7中这样做? ...

2  如果用户无权查看术语,则不显示术语名称  ( Never show the term name if the user has no permission to view the term ) 
我用一个词汇表到我发布到我的网站的Freetag书签,我想隐藏所有术语(也是大多数节点;大多数或全部,我不在乎)。 使用TAC模块,我使用以下设置开始: 全局默认值:show / create / delete:忽略show-term-checkbox:是的 MyVoc默认值:show(node):禁止; show...

5  如何获取当前登录用户拥有的内容?  ( How to get the content owned by the currently logged in user ) 
用户是只有一个节点的所有者,我想在登录时间将用户重定向到他唯一拥有的节点。 如果我只知道登录用户,我如何获得节点内容? ...

2  AEGIR / DRUSH别名问题:指令行指定的配置文件获取忘记  ( Aegir drush alias issue profiles specified at command line get forgotten ) 
注意:Aegir是用于Drupal Sites&amp的安装/站点管理工具;平台。查看 http://community.aegirproject.org/ 详细信息。 这个问题可能倒到Aegir问题或吹嘘身份;受到任何一个角度的思想,欢迎: 我已经设法通过命令行创建Aegir / Drupal平台(请参阅 http...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.