1

subsites モジュールを使用してマルチサイト システムを作成しています。

サイトへのユーザー ログインを独立させたい。そのため、あるサイトに登録したユーザーは、別のサブサイトに移動してログインするだけではなく、そのサイトにも登録する必要があります。

つまり、各サブサイトへの登録は完全に独立しています。

これは可能ですか?

4

3 に答える 3

1

これはかなり古いスレッドであることは知っていますが、誰かがこのスレッドに出くわした場合に役立つでしょう。これには別のハックがあります。

/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が行います)。ユーザーが現在のサイトに属していない場合、ユーザーはログアウトされ、ログイン ページにリダイレクトされます。

于 2016-08-09T09:55:47.103 に答える
0

説明には(とりわけ)次のように書かれています。

  • 「サブサイト モジュールを使用すると、SilverStripe の 1 つのインストールから複数の Web サイトを実行し、それらの間でユーザー、コンテンツ、および資産を共有できます。」
  • 「ブランチには、個別のユーザー/管理者と、個別の情報を含めることができます。」

共通の「本部」がない場合、そのモジュールが適切かどうかわかりません。モジュールをハッキングして意図しないことをする代わりに、別のインストールを作成してみませんか?

于 2011-09-22T10:28:53.800 に答える