私は以前にDrupal 7マルチサイトをテストしましたが、完全に機能しました。Drupal 8では、期待どおりに機能しません。
2つのサイトがあるとします。site1_をテーブルプレフィックスとして持つsite1とsite2_をテーブルプレフィックスとして持つsite2です。
ドキュメントには、settings.phpファイルに次の行を追加する必要があると記載されています。
'prefix' => array(
'default' => 'site2_',
'users' => 'shared_',
),
Drupal 8のユーザーテーブルにはユーザー名とパスワードの情報がないため、機能しません。
この行を追加すると、Drupalも正常に機能しなくなります。
'prefix' => array(
'default' => 'site2_',
'users' => 'site1_',
'users_data' => 'site1_',
'users_field_data' => 'site1_',
'user__user_picture' => 'site1_',
),
たとえば、site1のユーザーがパスワードを変更した場合、このユーザーはsite2の新しいパスワードでログインすることはできませんが、古いパスワードで一度ログインしてログアウトすることはできます。その後、新しいパスワードが機能します!
Drupal 6からDrupal 8への移行パスも共有テーブルの移行をサポートすることになると思いましたが、これは真実ではないようです。 https://www.drupal.org/node/2551549 と https://www.drupal.org/node/2768219 を読んでもあまり役に立ちません。
Drupal 8で、共有ユーザーテーブルは引き続きサポートされ、機能していますか?
しないでください。
テーブルごとの共有は過去の遺物であり、非推奨であり、Drupal 9.で削除されます。フィールド、キャッシュの無効化などのテーブルを動的に作成するすべてのレイヤーが上にあるため、これはneverは機能しません。
共有認証システムが必要な場合は、実際のシングルサインオンプロジェクトを調べてください。
これらは開始するためのいくつかのリンクです。私はまだどちらもあまり経験がありません。
Domain Accessを使用できます
ドメインアクセスプロジェクトは、one Drupalインストールと単一の共有データベース)からアフィリエイトサイトのグループを実行するためのツールを提供するモジュールのスイートです。モジュールを使用すると、次のようなサイトのグループ全体でユーザー、コンテンツ、設定を共有できます。
example.com one.example.com two.example.com my.example.com thisexample.com <-- can use any domain string example.com:3000 <-- treats non-standard ports as unique
デフォルトでは、これらのサイトはDrupalインストール済み環境のすべてのテーブルを共有します。ドメインプレフィックスモジュール(Drupal 6の場合)により、上級ユーザー向けの動的なテーブルプレフィックスを選択できます。 。