subsites モジュールを使用してマルチサイト システムを作成しています。
サイトへのユーザー ログインを独立させたい。そのため、あるサイトに登録したユーザーは、別のサブサイトに移動してログインするだけではなく、そのサイトにも登録する必要があります。
つまり、各サブサイトへの登録は完全に独立しています。
これは可能ですか?
subsites モジュールを使用してマルチサイト システムを作成しています。
サイトへのユーザー ログインを独立させたい。そのため、あるサイトに登録したユーザーは、別のサブサイトに移動してログインするだけではなく、そのサイトにも登録する必要があります。
つまり、各サブサイトへの登録は完全に独立しています。
これは可能ですか?
これはかなり古いスレッドであることは知っていますが、誰かがこのスレッドに出くわした場合に役立つでしょう。これには別のハックがあります。
/mysite/extensions/CustomLeftAndMain.php
<?php
class CustomLeftAndMain extends Extension {
public function onAfterInit() {
self::handleUser();
}
public static function handleUser(){
$currentSubsiteID = Subsite::currentSubsiteID();
$member = Member::currentUser();
$memberBelongsToSubsite = $member->SubsiteID;
if($memberBelongsToSubsite>0 && $currentSubsiteID!=$memberBelongsToSubsite){
Security::logout(false);
Controller::curr()->redirect("/Security/login/?_c=1001");
}
}
}
そして/mysite/_config.php
拡張子を追加します
LeftAndMain::add_extension('CustomLeftAndMain');
上記のコードが基本的に行うことは、ユーザーがどのサブサイトに属していてもシステムがログインできるようにすることです。また、アプリケーションが開始されている限り、ログインしているユーザーが現在の Web サイトに属しているかどうかに関係なく (メソッドhandleUser
が行います)。ユーザーが現在のサイトに属していない場合、ユーザーはログアウトされ、ログイン ページにリダイレクトされます。
説明には(とりわけ)次のように書かれています。
共通の「本部」がない場合、そのモジュールが適切かどうかわかりません。モジュールをハッキングして意図しないことをする代わりに、別のインストールを作成してみませんか?