Re: ログイン済みの場合だけフロント画面を表示するといった作りは可能でしょうか?
- masaki > ログイン済みの場合だけフロント画面を表示するといった作りは可能でしょうか? @ 2012/10/4 17:46
- » goichi > Re: ログイン済みの場合だけフロント画面を表示するといった作りは可能でしょうか? @ 2012/10/6 12:09
- masaki > Re: ログイン済みの場合だけフロント画面を表示するといった作りは可能でしょうか? @ 2012/10/9 9:55
goichi > Re: ログイン済みの場合だけフロント画面を表示するといった作りは可能でしょうか? @ 2012/10/6 12:09 |
---|
こんにちは(^^
私の環境でいろいろ試してみたので、実験結果として書き込んでみます。 アイディア程度にお考えいただければとおもいます。 (もっと良い方法がありそうな予感がします) まず、プレフィックス認証を使用するということなので、 /baser/config/baser.php を /app/config/baser.php にコピーします。 (ここまではお約束ですよね!) で、コピーしたbaser.phpを開くと106行目付近に以下のような部分があると思います。
この部分がコメントアウトされているはずですので、 コメントアウトを外してください。 baserCMSの管理画面からユーザーグループ管理で新規グループを作成します。 このとき、認証プレフィックス設定に「フロント」を選んでください。 つぎにこのグループに属するユーザーを登録しておきます。 新規ユーザー登録で登録しますが、この時に「グループ」は「フロント」を選択してください。 これでプレフィックス認証とユーザーが出来ました。 で、ここからが問題なのですが このままだと、ログインしていなくてもフロント画面が表示されちゃうんですよね・・・。 (私のイメージでは「フロント」で認証を作ったら、 フロント画面全体にAuth認証がかかるイメージだったのですが、どうやら違うようで・・・。 私の環境だけかもしれませんが・・・。) とりあえず、この状態から意図する仕組みを作る一番簡単で単純な方法は 使用しているテーマのレイアウトファイルで、ログイン状態を判定してやる方法だと思います。 /app/webroot/themed/テーマ名/layouts/default.php を開いていただいて、その一番最初に以下の処理を入れます。
冒頭でbaser.phpを変更しましたが、「フロント」を使用すると http://baserCMSのインストール先/users/login にログイン画面が自動で設定されます。 (もしスマートURLをOFFにしたなら http://baserCMSのインストール先/index.php/users/login になります) とりあえず、これで このレイアウトファイル(default.php)を使用するページは、全て認証が必要な仕組みになると思います。 もし他のレイアウトファイルを使うページがある場合は、そちらにも前述の処理をいれてください(^^ いかがでしょうか。 出来なかったらごめんなさい。m(__)m まぁ、参考程度にお考えいただければと思います。 |