カテゴリー
コンピューター

CakePHP2 でログインページをたくさん作る方法再び♪

以前、CakePHP2 でログインページをたくさん作る方法を考えました! | oki2a24 では prefix ルーティングを使用してたくさんのログインページを、同じログイン処理で作る方法をメモしました。

今思うと、prefix ルーティングを使わなくても、たくさんのログインページを作ることは可能でした。今回、その方法をメモします。

ポイント

  • ユーザ名、パスワードを入れるフォームを持ったビュー、それを受け取りログイン処理を行うコントローラーを複数作ればよいです。
  • 各ログイン処理のコントローラーでログイン後にジャンプするアクションを指定します。$components の Auth の loginRedirect で指定しますが、redirect 関数でもよいでしょう。

実際にやってみた

カテゴリー
コンピューター

CakePHP2 でログインページをたくさん作る方法を考えました!

◆2012年10月17日、追記。◆

CakePHP2 でログインページをたくさん作る方法再び♪ | oki2a24 にてまったく違う考え方でログインページをたくさん作る方法をメモしました。

この投稿が参考になった!!!とコメントを残してくだすった方がいらっしゃいましたので、ほかにもお求めの方がいらっしゃいましたら併せて閲覧いただき、何かの参考になればうれしく存じます。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

ウェブサービスを作っていると、たとえば先生用のログインページはログインフォームだけでよいけれど、生徒用のログインページでは「新規登録はこちら!」のリンクも付けたい、、、ということがあると思います

ただし、ログイン処理はすべて同じとしたいのです。

しばらく悩んだのですが、prefix ルーティングで実現できそうです。

ポイント

  • appConfig/core.php の Routing.prefixes を修正して設定します。
    例:array(‘admins’, ‘editors’, ‘authors’)
  • コントローラーのアクション名で prefix ルーティングを使用することを知らせます。
    書き方は、ルーティング名 + アンダースコア + アクション名
    例:admins_login、editors_login、authors_login
  • ビューは、prefix ルーティング用に作成したアクションに対応するように作成します。
    例:admins_login.ctp、editors_login.ctp、authors_login.ctp