0

CMS、おそらくDrupalまたはExpressionEngineを使用して外部サイトを構築することを検討しています。問題は、当社には既存のエンタープライズ ソフトウェアと連携するように設計されたメンバーシップ データベースが既にあることです。現在、メンバーシップ データベースは 40 万行以上で構成されています。

変更や新しいデータにはリアルタイムでアクセスできる必要があるため、データベースから手動でデータを移行することはできません。外部データベースの設計は CMS のものとは異なるため、最善の方法は 2 つのデータベースを使用し、CMS が外部を使用してユーザー情報を読み取る (書き込み不可) ようにし、CMS 以外のすべてにローカルを使用するように強制することであると判断しました。する必要があります (読み取り + 書き込み)。

これは、これらの Drupal または ExpressionEngine で実現可能ですか? 理想的にはhooks、コア CMS ファイルを変更したくないので、使用できるようにする必要があります。ドキュメントをふるいにかけると、ether CMS に接続するものを見つけることができません。

(注:可能であることは知っていますが、実現可能かどうか知りたいです)。

最後に、この状況を処理するためのより良い方法があれば、それも教えてください。おそらくデータベース レベルで、外部データベースの列を参照する何かがあるのでしょうか?

私はストローを握りしめています。誰かが私を正しい方向に向けることができると確信しています。

編集: Moodleにはこの機能が組み込まれています。Moodle は私のニーズには適していませんが、おそらくそのドキュメントは私の問題をよりよく理解するのに役立ちます: Moodle - 外部データベース認証

4

4 に答える 4

1

私はDrupal(D)/ ExpressionEnginge(EE)のエキスパートではありません。

TYPO3(私が深く知っている)(そしてD&EEについても)の場合、メンバーシップデータベースからユーザーデータをフェッチし、それらをローカルのフロントエンドまたはバックエンドのユーザーテーブルに一時的に保存する独自の拡張機能を書くことができます。認証。シングルサインオンを使用し、リモートグループに応じて対応する権限を設定する場合でも、大手金融機関向けにこのようなものを構築しました。例として使用できるTYPO3拡張機能はたくさんあります。

もう1つの可能性は、リアルタイム機能を再度回避し、データベースレベルで同期スクリプトを使用して、メンバーシップテーブルをDまたはEEユーザーテーブルと5分のリズムでチェックすることです。

LDAP認証を使用するオプションもあります。

データベースがすべてMySqlである場合は、正しい列を実装するだけでよいリモートメンバーシップテーブルを指すビューを作成できます。

コアを変更することは常に悪い考えです。;-)

于 2012-09-05T09:59:13.497 に答える
1

データを外部データベースに残す場合は、外部サイトがデータにアクセスできるようにする API のような Web サービスの作成を検討することをお勧めします。外部データベースへのクエリまたは悪名高い低速。

于 2012-09-05T09:56:44.697 に答える
0

ExpressionEngine には、メンバーおよびメンバー グループのデータ (ユーザー/ユーザー グループに対する EE の専門用語) を含む 6 つのテーブルがあります。

  • exp_members
  • exp_member_groups
  • exp_member_bulletin_board
  • exp_member_data
  • exp_member_fields
  • exp_member_homepage

おそらく、これを実現するには、定期的にユーザー データベースを exp_members および exp_member_groups と同期する必要があります。EE を外部 DB に接続しようとすると、すぐに問題が発生する可能性があります。

単に外部データベースにアクセスしたい場合は、舞台裏で接続してテンプレート内でデータを利用できるようにするプラグインを作成できます。

私は、Rails ユーザーを EE メンバーにするように促し、ユーザー間でセッションを共有して、ユーザーが両方のシステムを表示し、ログインしたままにできるようにする Rails アプリを一度作業しました。

于 2012-09-07T00:19:58.060 に答える
0

MySQL で外部データを操作するための EE 拡張機能があります: http://devot-ee.com/add-ons/external-entries。ただし、どのデータベースにアクセスする必要があるか、またはこれを使用して動作させることができるかどうかはわかりません。

于 2012-09-06T06:38:36.257 に答える