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の関連記事
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法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」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP3でassociatedを使って関連データをまとめて保存する方法(hasOne、hasMany、belongsTo)
CakePHP3で関連データをまとめて保存する方法。hasOne、hasMany、belongsTo等の関連データはassociatedを追加することでまとめて保存することができます。
-
-
CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介
CakePHP4、5系の認証処理でログイン認証が通らない場合の確認方法、確認箇所を解説。ログ出力し、ステータスを確認するが、ステータスの内容も紹介。それはそのままusernameを変更する際のポイントでもある。
-
-
CakePHP4系でJSONレスポンスの処理ではwithStringBodyを使う。3との違い解説
responseの値を指定する方法は3系では「body」だが、4系では「withStringBody」になりる。加えてJSON形式なら「withType」で指定するなど4系では結構異なる処理がある。
-
-
CakePHP 2.3 テーブルの項目を演算した結果を条件として抽出する方法
アソシエーション(連携)している先のテーブルの項目で演算をする場合の考え方と注意点をサンプルソースを用いて説明しています。分かってしまえば簡単です。
-
-
CakePHP4、5でSELECT telephone as tel FROM usersの様にasでカラムに別名を付ける方法
CakePHP4、CakePHP5でクリエビルダーを利用してテーブルからレコードを取得する際、asを使用してカラムの別名で値を取得したい場合の対応方法を解説。また、別名にはハイフンやアスタリスクなど使用できない文字がある点も解説。
-
-
CakePHP5でヘルパーから他のヘルパーを読み込む方法・CakePHP4からの変更点
CakePHP5のヘルパーで他のヘルパーを読み込む方法を解説。公式の日本語CookbookはCakePHP4のソースのままで間違っているため注意が必要。CakePHP4からの移行の際も同じ点に注意が必要。
-
-
CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説
CakePHP3で定数や共通で使う変数をまとめて設定し、プログラム内で読み込む方法を、bootstrap.phpに直接記述する方法と定数ファイルを分ける方法の3つの方法で解説。
-
-
CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説
CakeDC謹製Usersプラグインの紹介。CakePHP4で使う場合のUsersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。
-
-
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。
-
-
CakePHP 2.3 コマンドラインからPHPのシェル実行の方法解説
CakePHP 2.3でコマンドラインから CakePHPで記述した処理を実行する方法を解説します。