Laravel 5 フレームワーク学習ユーザー認証、laravel5 フレームワーク認証_PHP チュートリアル
Laravel 5 フレームワークでユーザー認証を学習する、laravel5 フレームワーク認証
Laravel には工場出荷時にすでにユーザー認証システムが付属しています。routes.php を見てみましょう。削除されている場合は、以下を追加してください:
リーリーphpArtisan Route:list を使用して確認できます。ブラウザで /auth/login にアクセスすると、ログイン インターフェイスが表示されます。システムのデフォルトの app.blade.php で Google に関する内容をコメントアウトするのが最善です。そうしないと、おかしくなります。
登録、ログイン、またはパスワードを忘れた場合でも使用できます。
実際にユーザーの登録は送信後に失敗しましたが、larave は自動的に /home にジャンプしました。 tinker を使用して、ユーザーが作成されたかどうかを確認できます。
トレイトは実際に AuthAuthController で使用されます。トライアットとは何ですか? PHP は単一継承のみをサポートしており、トレイトは PHP5.4 で追加されました。トレイトは実際にはメソッドのセットをカプセル化したもので、別のクラスに含めることができます。抽象クラスと同様に、直接インスタンス化することはできません。
AuthAuthController にはトレイトへの参照があります:
コードをコピーします コードは次のとおりです:
AuthenticatesAndRegistersUsers を使用します;
彼を見つけて、登録後に彼がどのようにジャンプするかを見てみましょう。彼は、vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesAndregistersUsers.php のかなり奥深くに隠されています。すごいですね。
リーリーOK、登録後のジャンプをカスタマイズするには、redirectTo 属性を設定するだけです。 AuthAuthContotroller でこれを変更します:
コードをコピーします コードは次のとおりです:
protected $redirectTo = '記事';
最初に /auth/logout を使用してログアウトします。何か問題が発生しても心配しないでください。今回は、新しいユーザーを作成するための auth/register に再度アクセスします。大丈夫なはず。
再度ログアウトし、ログインを使用してログインします。
これで、form_partial に一時的に設定された非表示フィールドを削除し、コントローラーを変更できます:
リーリー記事を追加し、tinker を使用してチェックしてください。
ミドルウェア
もちろん、少なくともログインすることによってのみ、誰でも記事を公開できるようにすることは望ましくありません。コントローラーに保護を追加します:
上記のコードは機能しますが、保護する必要があるすべてのメソッドで上記の処理を実行する必要があります。幸いなことに、これはあまりにも愚かです。
ミドルウェアは、パイプライン内の特定の瞬間に処理される処理パイプラインとして理解できます。この瞬間はリクエストまたはレスポンスになります。ミドルウェアの処理ルールによっては、リクエストがリダイレクトされたり、渡されたりする場合があります。
app/http/middleware には 3 つのミドルウェアが含まれています。詳しく見てみると、Closure $next が次のミドルウェアを表しています。
app/http/kernel.phpにミドルウェアを登録します。 $middleware セクションでは、すべての http を処理するミドルウェアを宣言し、$routeMiddleware はルーティングのみを処理します。これらのミドルウェアの 1 つ以上を使用することを明示的に宣言する必要があります。
ArticlesController 全体を保護したいと仮定して、コンストラクターにミドルウェアを直接追加します。
リーリーこれで、どのメソッドも保護されます。
しかし、おそらくコントローラー全体を保護することは望ましくありません。そのメソッドの 1 つまたは 2 つだけを保護する場合はどうでしょうか?次のように処理できます:
リーリーコントローラーのコンストラクターにミドルウェアを導入する必要はなく、ルート内で直接宣言できます:
コードをコピーします コードは次のとおりです:
Route::get('about', ['middleware' => 'auth', 'uses' => 'PagesController@about']);
「IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode」などの kernel.php で提供されるシステム ミドルウェアを使用すると、たとえば、システムがオンラインであっても、処理のために一定期間一時的にシャットダウンする必要がある場合に、メンテナンス モードに入ることができます。コマンドラインで処理してください。このミドルウェアが何をするのか見てみましょう:
コードをコピーします コードは次のとおりです:
php 職人ダウン
Web サイトにアクセスすると、URL リクエストがすぐに返されることがわかります。オンラインウェブサイト:
コードをコピーします コードは次のとおりです:
php職人アップ
独自のミドルウェアを作ってみましょう:
コードをコピーします コードは次のとおりです:
php 職人の make:ミドルウェア デモ
次にコードを追加します:
リーリーすべてのリクエストにミドルウェアを使用したい場合は、それを kernel.php の $middleware に登録する必要があります:
リーリーこれでテストできるようになりました。/articles/create?foo=bar にアクセスすると、ホームページにリダイレクトされるとします。
この表示ミドルウェアを削除して、実際に動作するミドルウェアを作成しましょう。このページは管理者がアクセスできる必要があるとします。
コードをコピーします コードは次のとおりです:
php 職人 make:middleware RedirectIfNotAManager
処理コードを追加しましょう:
public function handle($request, Closure $next) { if (!$request->user() || !$request->user()->isATeamManager()) { return redirect('articles'); } return $next($request); }
下面修改我们的模型:
public function isATeamManager() { return false; }
简单起见,我们直接返回false。这次我们把中间件放置在 kernel.php 中的$routeMiddleware 中。
protected $routeMiddleware = [ ... 'manager' => 'App\Http\Middleware\RedirectIfNotAManager', ];
我们做一个测试路由测试一下:
Route::get('foo', ['middleware' => 'manager', function() { return 'This page may only be viewed by manager'; }]);
guest身份访问或者登录身份访问都会返回主页,但是如果修改 isATeamManager() 返回 true,登录身份访问可以看到返回的信息。
以上就是本文所述的全部内容,希望对大家熟悉Laravel5框架能够有所帮助。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
