個人用ツール

「逆引きガイド/会員ログインの仕組みを作りたい」を編集中

提供: baserCMS公式ガイド

移動: 案内, 検索

警告: ログインしていません。

編集すると、IPアドレスがこのページの編集履歴に記録されます。
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
行1: 行1:
baserCMSではプレフィックス認証機能を利用して、会員ログインの仕組みを作ることができます。
+
馬庭
 
+
##プレフィックス認証機能とは?
+
プレフィックス認証とは、URLの一部に特定の文字列をプレフィックス(接頭辞)として付与し、そのプレフィックスが付与されたURLにアクセスをすると、ユーザーにログイン認証を求める機能です。もっとも身近な使用例は、baserCMSの管理画面です。管理画面にはデフォルトで「admin」というプレフィックスが付けられており、管理機能を構成するURLには、全て「admin」という文字列が含まれています。その結果、ユーザーが管理画面にアクセスする場合(つまり「admin」プレフィックスの付与されたURLにアクセスする場合)に、ログイン認証が求められるようになっています。
+
 
+
 
+
##プレフィックス認証機能を利用する。
+
プレフィックス認証機能を利用するには、baserCMSのファイルを一部コピーして書き換える必要があります。以下にその手順を示します。
+
 
+
###setting.phpのコピーと編集
+
baserCMSの設定用ファイルをコアファイル群が入ったフォルダ「/lib/Baser」から、開発用のフォルダ「/app」以下にコピーして、コピー先のファイルを編集します(コアファイルを開発用フォルダにコピーして使用することで、baserCMSのバージョンアップ時に拡張部分が上書きされてしまう事故を防ぎます)。
+
####コピー元
+
    /lib/Baser/Config/setting.php
+
####コピー先
+
    /app/Config/setting.php
+
####setting.phpの126行目付近から編集する
+
プレフィックス認証部分のコメントアウトを外して、「admin」以外のプレフィックスを機能させます。ここでは例として「mypage」というプレフィックスを追加しています。なお、この「mypage」の記述は、サンプルとしてsetting.phpに最初から記載されていますので、コメントアウトをするだけで結構です。
+
<syntaxhighlight lang="php">
+
'mypage' => array(
+
  'name' => 'マイページ',
+
  'alias' => 'mypage',
+
  'loginRedirect' => '/mypage/members/edit',
+
  'loginTitle' => 'マイページログイン',
+
  'userModel' => 'Member',
+
  'loginAction' => '/mypage/members/login',
+
  'toolbar' => false
+
  ),
+
</syntaxhighlight>
+
これでプレフィックスに「mypage」が追加されました。
+
 
+
###ログインできるユーザーグループとユーザーを作成する
+
管理画面の[[ユーザー管理機能]]をつかって、ログインユーザーを作成していきます。
+
####ユーザーグループの作成
+
ユーザーグループを新規登録します。前述のsetting.phpの編集が上手く出来ていれば、ユーザーグループの作成フォームにて「認証プレフィックス」が選択できるようになっています。選択肢の中から「mypage」を選びます。これによって、「mypage」プレフィックスを利用したページにアクセスできるユーザーグループが出来上がります。
+
####ユーザーの作成
+
ユーザーを新規登録します。作成するユーザーは、上記グループ「mypage」グループに所属させてください。その結果、「mypage」にログインできるグループのユーザーとして登録されます。
+
 
+
##ログイン画面を表示する
+
次にログイン画面の表示を行います。ログイン画面は前述のsetting.phpでコメントアウトした中にある、「loginAction」の値で設定できます。今回の例だと以下のURLでログイン画面が表示されます。
+
    (baserCMSのインストールURL)/mypage/members/login
+
この画面が表示されたら、先ほど作ったユーザーでログインを実行します。認証に成功すると、setting.phpの「loginRedirect」の値で設定したURLにリダイレクトします。今回の例だと以下のURLに転送されます。
+
    (baserCMSのインストールURL)/mypage/members/edit
+
これにてログイン認証の完了です。
+
###ログインが必要なページを作りこむ為のヒント
+
今回の例の場合、「/mypage/members/edit」というURLは、以下のファイルを参照します。
+
    /lib/Baser/Controllers/MembersController.php
+
そして、このファイルの中にある、
+
    mypage_edit()
+
というアクションを呼び出しています(このようなURLとアクションの呼び出しの仕組みについては、[CakePHP](http://cakephp.jp/)の情報を参照してください)。例えば、習い事やスクールの会員ページを作りたいとして、「Member」という表記ではなく「Student」を使用したい場合、setting.phpの中で「userModel」を「Student」、「loginAction」の値を「/mypage/students/login」にし、「loginRedirect」の値を「/mypage/students/index」とした上、次の場所に以下のファイルを設置してください。
+
    /app/Controllers/StudentsController.php
+
そして、その中にログイン成功後のリダイレクト先として以下のアクションを作成します。
+
    mypage_index()
+
これでログイン時に、上記のアクションを参照するようになります。処理の中身や表示する内容の作成は、CakePHPの流儀に従って用意します。
+

baserCMS公式ガイドへのすべての投稿は、他の利用者によって編集、変更、除去される場合があります。 あなたの投稿を、他人が遠慮なく編集するのを望まない場合は、ここには投稿しないでください。
また、投稿するのは、あなたが書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください (詳細は[[Basercms:著作権 ]]を参照)。 著作権保護されている作品を、許諾なしに投稿してはいけません!

Add Categories
  

中止 | 編集の仕方 (新しいウィンドウで開きます)