■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

認証プレフィックス設定後、ログイン画面が表示されない

masa1972 > 認証プレフィックス設定後、ログイン画面が表示されない @ 2013/8/14 21:26
はじめて投稿します


会員用の認証ページを作成しようと以下の情報等を参考にしながら進めているのですが
baser.phpの修正、ユーザーグループの作成までできているにもかかわらず
ログイン画面が表示されず、手詰まりしています。

参考にした情報
http://basercms.net/develop/archives/11
http://flagsystem.co.jp/news/archives/76


行った作業

1.baser.phpのコピー及び修正版のUpload

 /baser/config/baser.php
 をコピーして修正したものを
 /app/config/ に配置。

 修正箇所はフロント部分のインデントを削除
 削除部分 /* */


// フロント(例)
/*'front' => array(
'name' => 'フロント',
'loginRedirect' => '/',
'userModel' => 'User',
'loginAction' => '/users/login',
'toolbar' => true
),*/


2.ユーザーグループの追加

 ユーザーグループ名 ⇒ hoge
 表示名       ⇒ HOGE
 管理システムのグローバルメニューを利用する ⇒ 利用しない(チェックしていない)
 認証プレフィックス設定  ⇒ フロント


3.ユーザ登録

 グループ ⇒ hoge

 ※ユーザ名、パスワード等は割愛します




この状態でログインページへアクセスしようと

 http://ドメイン.com/users/login

とすると、404エラーが出てしまいます。


他にもいろいろ調べてみたのですが、有益な情報を見つけることができませんでした。

他の方の投稿を見るとその先の設定等をされている方がいらっしゃるので
何か手順を忘れているのかもしれませんが、それが何かがわかりません。

お手数をお掛けしますがアドバイスをいただけると助かります。


ブラウザは Google ChoromeとIE10 で確認しており
各作業実施後にサーバキャッシュの削除も実施しております。



■ BaserCMSのバージョン:2.1.2
■ レンタルサーバー名:ロリポップ ロリポプラン
■ スマートURLの利用: [OFF]
■ 設置フォルダ: [ドキュメントルート ]
■ 利用しているデータベース

goichi > Re: 認証プレフィックス設定後、ログイン画面が表示されない @ 2013/8/14 21:52
間違ってたらスミマセン。
ちょっと思いついたのですが、

http://ドメイン.com/front/users/login

としても出てこないでしょうか?
baser.phpを修正された際、frontというプレフィックスのままお使いならば、上のアドレスで出てくるような気がします。
(気がするだけで、確かめたわけではないのですが・・・)

参考までに投稿しておきます。。m(__)m

masa1972 > Re: 認証プレフィックス設定後、ログイン画面が表示されない @ 2013/8/14 22:27

コメントありがとうございます 

早速
http://ドメイン.com/front/users/login 
にて確認してみたのですが
結果は変わらず、404 エラーでした。

baser.php で

'loginAction' => '/users/login',

となっていますが

インストールディレクトリに
users ディレクトリはないなぁ・・・
と疑問に思ったり。

また何かお気づきになられた事があればご教授くださいませ。

ありがとうございます





■ BaserCMSのバージョン:2.1.2
■ レンタルサーバー名:ロリポップ ロリポプラン
■ スマートURLの利用: [OFF]
■ 設置フォルダ: [ドキュメントルート ]
■ 利用しているデータベース

goichi > Re: 認証プレフィックス設定後、ログイン画面が表示されない @ 2013/8/14 23:27
引用:
users ディレクトリはないなぁ・・・

アドレスの中の「users」はコントローラー名で、
「login」というのがアクション名と呼ばれるものになります。
そういったディレクトリやファイルが存在するわけではないんです。
(cakePHPやPHPフレームワーク、MVCとかで検索すると分かると思います。)

例えば、管理画面へログインする際、
http://ドメイン.com/admin/users/login
となると思います。
「admin」は管理画面内のページに付けられているプレフィックスで、
baserCMSでは、URLのコントローラー名の前にプレフィックスが入ります。

ですので、baser.phpでプレフィックスが「front」のままならば、
http://ドメイン.com/front/users/login
で画面がでるかなーと。

ここで、一つ気になったのですが、
管理画面からログアウトしていらっしゃるでしょうか?
そして、front(新しく認証をしたいページ)側の認証後のページは制作されているでしょうか?
もしも、管理画面にログインした状態で、新たに認証を作ったログインページにアクセスしているなら、
既に(管理画面に)ログイン済みの扱いを受けて、認証後のページに飛ばされたりするのではないですか?
(404の画面が出ている時、URLをもう一度見てみてください。飛ばされてませんか?)
baser.phpで
'loginRedirect'	=> '/',

となっているならば、プレフィックスが入って、
http://ドメイン.com/front/
とかに飛んでいるのではないかと。。。。

以上です、違っていたらすみません。
あと、本当になにかのエラーならば、管理画面のシステム管理からデバッグモードにしておくと、今までは出なかったエラーメッセージが表示されます。
今まで単に404となっていたページも、ヒントになるようなメッセージが出てくることがあります。

参考までに、投稿しておきます。


masa1972 > Re: 認証プレフィックス設定後、ログイン画面が表示されない @ 2013/8/15 0:14
早々の再コメントありがとうございます。


結論から書きますと

http://ドメイン.com/index.php/users/login

へのアクセスで404は解消され、ログインすることができるようになりました。

index.php が足りなかった!!

goichi様からのコメントに1つずつ回答していくうちに
解決のヒントを見つけることができました。


>管理画面からログアウトしていらっしゃるでしょうか?

⇒ ログアウトしていませんでしたのでログアウトしました。


>そして、front(新しく認証をしたいページ)側の認証後のページは制作されているでしょうか?

⇒ 認証後のページは作成していません。
  ログインできれば、http://ドメイン.com
  に飛ぶという想定です。


>もしも、管理画面にログインした状態で、新たに認証を作ったログインページにアクセスしているなら、
>既に(管理画面に)ログイン済みの扱いを受けて、認証後のページに飛ばされたりするのではないですか?
>(404の画面が出ている時、URLをもう一度見てみてください。飛ばされてませんか?)

⇒ こちらの『URLをもう一度見てください』というコメントがヒントになりました。

 管理者でログインするときのURLを見ると

 http://ドメイン.com/index.php/admin

 となっており、もしかすると index.php の記述が抜けているのか?ということで

アクセスするアドレスを

http://ドメイン.com/users/login
           ↓↓↓
http://ドメイン.com/index.php/users/login

としたところ、ログイン画面が出て

http://ドメイン.com

にログインでき『ようこそ(ユーザ名)さん』というメッセージも確認できました。



今回のケースでは以下の手順で
認証プレフィックス設定のログイン画面表示までできたことになります。


1.baser.phpのコピー及び修正版のUpload

 /baser/config/baser.php
 をコピーして修正したものを
 /app/config/ に配置。

 修正箇所はフロント部分のインデントを削除
 削除部分 /* */


// フロント(例)
/*'front' => array(
'name' => 'フロント',
'loginRedirect' => '/',
'userModel' => 'User',
'loginAction' => '/users/login',
'toolbar' => true
),*/


2.ユーザーグループの追加

 ユーザーグループ名 ⇒ hoge
 表示名       ⇒ HOGE
 管理システムのグローバルメニューを利用する ⇒ 利用しない(チェックしていない)
 認証プレフィックス設定  ⇒ フロント


3.ユーザ登録

 グループ ⇒ hoge

 ※ユーザ名、パスワード等は割愛します

4.ログイン確認

 http://ドメイン.com/index.php/users/login

 へアクセスし、3で登録したユーザ名、パスワードでログイン。

 ようこそ (ユーザ名)さん というメッセージとともに
 http://ドメイン.com/
 が表示される。

 ※baser.php の
 'loginRedirect' => '/',
 この記述の '/' を 任意のディレクトリに変更することでログイン後の表示先を変えることができると思いますが
 今後、すこしずつ確認していきます。

以上です



goichi様 の迅速かつ丁寧なアドバイスのおかげで
ほんの数時間で疑問が解決いたしました。

本当にありがとうございます。 

この投稿が同じ悩み、疑問を持つ方の参考になってくれれば幸いです。

■ BaserCMSのバージョン:2.1.2
■ レンタルサーバー名:ロリポップ ロリポプラン
■ スマートURLの利用: [OFF]
■ 設置フォルダ: [ドキュメントルート ]
■ 利用しているデータベース

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
39 人のユーザが現在オンラインです。 (38 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 39