ホームページ  >  記事  >  バックエンド開発  >  Laravel 5 基本 (12) - 認定

Laravel 5 基本 (12) - 認定

WBOY
WBOYオリジナル
2016-08-08 09:26:36806ブラウズ

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 リーリー

OK、わかったので、

を変更するように設定するだけです: redirectTo 这个属性就可以自定义注册后的跳转了。我们在 AuthAuthContotroller リーリー

まず

を使用して新しいユーザーを作成しましょう。 /auth/logout 确保我们退出,如果出错了不要害怕,我们没有默认的主页,重新访问:auth/register

再度ログアウトし、ログインを使用してログインします。

これで、

に一時的に設定された非表示フィールドを削除し、コントローラーを変更できます: form_partial リーリー

記事を追加し、

を使用してチェックしてください。 tinker

ミドルウェア

もちろん、少なくともログインすることによってのみ、誰でも記事を公開できるようにすることは望ましくありません。コントローラーに保護を追加します:

リーリー

上記のコードは機能しますが、保護する必要があるすべてのメソッドで上記の処理を実行する必要があります。幸いなことに、これはあまりにも愚かです。

ミドルウェアは、パイプライン内の特定の瞬間に処理される処理パイプラインとして理解できます。この瞬間はリクエストまたはレスポンスになります。ミドルウェアの処理ルールによっては、リクエストがリダイレクトされたり、渡されたりする場合があります。

は次のミドルウェアを表します。 app/http/middleware 中包含了三个中间件,名字就可以看出是干什么,好好查看一下,注意,Closure $next

ではルーティングのみが処理され、これらのミドルウェアの 1 つ以上を使用することを明示的に宣言する必要があります。

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 アクセスまたはログイン ID アクセスはホームページに戻りますが、

を変更すると、ログイン ID アクセスで返された情報を確認できます。

以上、Laravel 5 (Twelve) - 認定の基本をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。