Laravel にはユーザー認証システムが同梱されています。見てみましょう routes.php
、削除されている場合は、以下を追加してください:
php artisan route:list
查看一下。浏览器中访问 /auth/login
,可以看到登陆界面,最好把系统默认的 app.blade.php
で Google についての注釈を付けることができます。そうしないと気が狂ってしまいます。
登録、ログイン、またはパスワードを忘れた場合でも使用できます。
実際にユーザーの登録は送信後に失敗しました。実際には失敗しませんでしたが、larave が自動的に /home
,我们已经删除了这个控制器。你可以使用 tinker
にジャンプしました。見てください、ユーザーが作成されました。
AuthAuthController
中实际上使用了 trait
では、トライアトとは何ですか? PHP は単一継承のみをサポートしており、トレイトは PHP5.4 で追加されました。トレイトは実際にはメソッドのセットをカプセル化したもので、別のクラスに含めることができます。抽象クラスと同様に、直接インスタンス化することはできません。
には特性への参照があります: AuthAuthController
リーリー
の中にかなり深く隠しています、すごい。 vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesAndregistersUsers.php
リーリー
を変更するように設定するだけです: redirectTo
这个属性就可以自定义注册后的跳转了。我们在 AuthAuthContotroller
リーリー
を使用して新しいユーザーを作成しましょう。 /auth/logout
确保我们退出,如果出错了不要害怕,我们没有默认的主页,重新访问:auth/register
これで、
に一時的に設定された非表示フィールドを削除し、コントローラーを変更できます: form_partial
リーリー
を使用してチェックしてください。 tinker
もちろん、少なくともログインすることによってのみ、誰でも記事を公開できるようにすることは望ましくありません。コントローラーに保護を追加します:
リーリー
上記のコードは機能しますが、保護する必要があるすべてのメソッドで上記の処理を実行する必要があります。幸いなことに、これはあまりにも愚かです。ミドルウェアは、パイプライン内の特定の瞬間に処理される処理パイプラインとして理解できます。この瞬間はリクエストまたはレスポンスになります。ミドルウェアの処理ルールによっては、リクエストがリダイレクトされたり、渡されたりする場合があります。
の
は次のミドルウェアを表します。 app/http/middleware
中包含了三个中间件,名字就可以看出是干什么,好好查看一下,注意,Closure $next
app/http/kernel.php
中对中间件进行登记。$middleware
段声明了对所有http都进行处理的中间件,$routeMiddleware
全体を保護したいと仮定すると、
リーリー
ArticlesController
これで、どのメソッドも保護されます。
しかし、おそらくコントローラー全体を保護することは望ましくありません。そのメソッドの 1 つまたは 2 つだけを保護する場合はどうでしょうか?次のように処理できます:
リーリーコントローラーのコンストラクターにミドルウェアを導入する必要はなく、ルート内で直接宣言できます:
リーリーでは、たとえば、システムはオンラインですが、処理のために一定期間一時的にシャットダウンする必要がある場合に、コマンド ラインで処理して作業を確認できます。このミドルウェアの:
リーリー Web サイトにアクセスすると、URL リクエストがすぐに返されることがわかります。オンラインウェブサイト: kernel.php
中提供的系统中间件,比如 'IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode'
リーリー
リーリー
次にコードを追加します:リーリー
すべてのリクエストにミドルウェアを使用したい場合は、に登録する必要があります:
リーリーこれでこれをテストできます。kernel.php
中的 $middleware
にアクセスすると、ホームページにリダイレクトされるとします。
この表示ミドルウェアを削除して、実際に動作するミドルウェアを作成しましょう。このページは管理者がアクセスできる必要があるとします。 /articles/create?foo=bar
リーリー
リーリー
以下のモデルを変更します:リーリー
簡単にするために、 false を直接返します。今回はの中にミドルウェアを配置します。
リーリーテストするためのテストルートを作成しましょう: kernel.php
中的$routeMiddleware
リーリー
を変更すると、ログイン ID アクセスで返された情報を確認できます。
以上、Laravel 5 (Twelve) - 認定の基本をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。