1

我们目前正在将我们的网站从非 Drupal 源转换为 Drupal 6.x。我们需要处理的首要问题之一是身份验证。我们有一个中央数据库,用于保存会员信息。我们将创建一个模块来对该数据库进行身份验证,但是需要在 drupal 中创建用户的问题。

我担心如果我们不将用户添加到用户表并让我们的模块与其他数据库保持同步,那么我们将无法利用可能使用用户模块的其他模块

另一方面,我的同事认为这不是问题,我们可以在使用我们的模块进行身份验证时向全局 $user 添加所有必要的属性。

有处理这个问题的标准方法吗?

谢谢!

大卫

4

4 回答 4

2

看看 LDAP_integration 模块,他们做了类似的事情。当登录并且无法加载本地用户时,将在另一个应用程序中搜索用户,并且当 user&pass 相等时,将用户复制到 Drupal 用户表中。

于 2010-02-03T16:02:20.067 回答
1

如果您希望任何 Drupal 功能(阅读:核心和模块)与该用户帐户相关联,那么您将需要使用该用户表。

对于任何与节点相关的东西尤其如此,因此如果您希望人们能够使用引用数据创建节点,您将需要它。uid 存储在节点表中,以显示节点的作者。在节点表中存储一个不存在的东西作为其他地方的关系键的 uid 只会返回一个空对象。例如,如果一个人想查看 X 节点的作者,他们将得到一个空的用户对象。留着它。仅仅为了消除它而更加努力地工作是没有意义的。此外,您可以在每个帐户的用户对象中存储尽可能少或尽可能多的内容。

于 2010-02-04T13:09:57.420 回答
1

我还建议查看 LDAP 模块。我能够将它用作与我们公司拥有的外部数据库的自定义 WSAPI 身份验证方法接口的跳转点。

于 2010-02-04T21:34:48.617 回答
0

您是否需要让两个站点并行运行?如果没有,那么您不需要同步用户表。那么转换就足够了。

于 2010-02-03T15:22:41.220 回答