CakePHP5系で認証機能のAuthenticationプラグインをインストール・エラー発生注意
2025/01/31
CakePHP5系で認証機能のAuthenticationプラグインをインストールしようとするとエラーが発生する。その対応方法を解説
CakePHP5系で認証機能プラグイン「Authentication」を composerを使用してインストールする際のコマンドは下記になります。
|
1 |
# composer require "cakephp/authentication:^3.0" |
CakePHP5オフィシャルの ChiffonBookの記述が間違っている
CakePHP5 ChiffonBook CMS チュートリアル – 認証
https://book.cakephp.org/5/ja/tutorials-and-examples/cms/authentication.html
CakePHP5 ChiffonBook シンプルな認証と認可のアプリケーション
https://book.cakephp.org/5/ja/tutorials-and-examples/blog-auth-example/auth.html#id3
上記の CakePHP5のオフィシャルサイトのマニュアルには、Authenticationをインストールする際のコマンドとして下記が紹介されています。
|
1 |
# composer require "cakephp/authentication:^2.0" |
ですが、上記のコマンドを実行すると下記のようなエラーが発生します。
|
1 2 3 4 5 6 7 8 |
Problem 1 - cakephp/authentication[2.0.0, ..., 2.4.0] require cakephp/core ^4.0 -> found cakephp/core[4.0.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require. - cakephp/authentication[2.5.0, ..., 2.9.0] require cakephp/http ^4.0 -> found cakephp/http[4.0.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require. - cakephp/authentication[2.10.0, ..., 2.10.2] require cakephp/http ^4.4 -> found cakephp/http[4.4.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require. - cakephp/authentication 2.11.0 requires cakephp/http ^4.5 -> found cakephp/http[4.5.0, ..., 4.5.8] but these were not loaded, likely because it conflicts with another require. - Root composer.json requires cakephp/authentication ^2.0 -> satisfiable by cakephp/authentication[2.0.0, ..., 2.11.0]. Installation failed, reverting ./composer.json and ./composer.lock to their original content. |
メッセージの内容は、「CakePHP5系では Authentication Ver.2系は使えませんよ」というものです。
CakePHP5系では Authentication Ver.3系を使う必要がある
つまり、最初に書きましたが、CakePHP5系では Authentication Ver.3系を使う必要がありますので、実行するコマンドは下記となります。
|
1 |
# composer require "cakephp/authentication:^3.0" |
また、Githubにある Authenticationのリリースノートは下記になります。
それぞれの CakePHPのバージョンに合わせた Authenticationを確認しましょう。
CakePHP5 ChiffonBook Authentication Releases
https://github.com/cakephp/authentication/releases
CakePHP5の関連記事
CakePHP4、5のユーザ認証でID、PASS以外の削除フラグなども条件加える方法CakePHP4、CakePHP5系の認証処理でログインの有無の確認、ユーザ情報の取得の方法
CakePHP4、5で$_SERVERと同じようにURIを取得する「getUri()」の紹介
getParam('action')で取得するアクション名は別関数に移動しても不変CakePHP4系、CakePHP5系のexists()でカラムを指定して値の有無をチェックする方法解説
CakePHP4、5のnewEmptyEntityで作成したオブジェクトは空なのか、確認してみた
CakePHP4、5でSELECT telephone as tel FROM usersの様にasでカラムに別名を付ける方法
CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介
CakePHP5系で認証機能のAuthenticationプラグインをインストール・エラー発生注意
CakePHP5でヘルパーから他のヘルパーを読み込む方法・CakePHP4からの変更点
その他の「CakePHP5」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP 2.3 ID以外のカラムでアソシエーション(連携)をさせる場合の詳細ページの注意点
ID以外のカラムでアソシエーション(連携)させて詳細ページを表示させる際の考え方と注意点をサンプルソースを用いて解説しています。
-
-
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でOGPを設定する方法を解説。metaタグを編集するHTMLヘルパーを利用してOGPのタグを編集する。また、エレメントとして分割することでメンテナンス性も向上させる。
-
-
cakephp3 カスタムバリデーションを簡易的に実装する方法
CakePHP3の独自のバリデーションをテーブルクラス内に簡単に記述する方法を解説。他のテーブルクラスでは使えないが、記述する量は少なく実装できるため、他で使わない処理を書くのには便利。
-
-
CakePHP3のCakeDC/Usersでログインユーザの所有レコードのみ更新、削除する権限管理の設定方法
CakePHP3のユーザ管理、ログイン認証プラグイン「CakeDC/Users」の権限管理を行う方法やアクセスできるコントローラー、アクションを設定、所有権を持つレコードのみ更新できる設定方法を解説。
-
-
CakePHP3でCookieを保存、呼び出し、削除の操作・CakePHP3.7対応
CakePHP3.7でCookieを保存、取り出し、削除する方法を解説。CakePHP3でのCookieの取り扱いはバージョンごとに変更されるため、環境に合わせた方法を探す必要がある。
-
-
CakePHP4のフラッシュメッセージの表示場所、デザインを変更する方法を解説
CakePHP4のエラーメッセージ、完了メッセージなどを表示するフラッシュ処理の解説。Controller、レイアウトファイル、テンプレートファイルでそれぞれ処理を指定する。
-
-
Windows上のXAMPP環境のCakePHPのコマンド実行時に環境変数を指定する方法
CakePHP4のコマンド(シェル)に対して、環境変数を指定して実行する方法を解説。LinuxとWindows上のXAMPPとでは記述方法が異なるため、Windowsのsetコマンドについても詳細解説。
-
-
CakePHP4の定数定義ファイルを環境変数によって本番と開発を振り分ける方法解説
CakePHP4で開発環境と本番環境とで違う設定ファイルを読み込ませて環境ごとに定数を切り替える方法を解説。Apacheのhttpd.confに環境変数を設定しそれを読み込み判別する。
-
-
CakePHP4系、CakePHP5系のexists()でカラムを指定して値の有無をチェックする方法解説
CakePHP4、5で指定したカラムに特定の値に該当のレコードの有無をチェックするにはexists()を使う。単純にカラムを指定する方法から複数条件をand、orで探すこともできる。
-
-
CakePHP3のビューで受取ったテーブルのオブジェクトを連想配列に変換する方法
コントローラーからビューに送ったテーブルのオブジェクトを連想配列に変換し、ビューの中で自由に使えるようにするメソッド「toArray()」の解説。連想配列に変換できれば利用度アップ!