Laravel 5 基本 (12) - 認定

Aug 08, 2016 am 09:26 AM
auth middleware request return

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

PHPリクエストとはどういう意味ですか? PHPリクエストとはどういう意味ですか? Jul 07, 2021 pm 01:49 PM

request の中国語の意味は「要求」で、PHP のグローバル変数であり、「$_POST」、「$_GET」、「$_COOKIE」を含む配列です。 「$_REQUEST」変数は、POSTまたはGETで送信されたデータやCOOKIE情報を取得できます。

Javaのreturn文とfinally文の実行順序は何ですか? Javaのreturn文とfinally文の実行順序は何ですか? Apr 25, 2023 pm 07:55 PM

ソースコード: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#出力 上記のコードの出力は、単純に次のように結論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

PHP の Request オブジェクトとは何ですか? PHP の Request オブジェクトとは何ですか? Feb 27, 2024 pm 09:06 PM

PHP の Request オブジェクトは、クライアントからサーバーに送信される HTTP リクエストを処理するために使用されるオブジェクトです。 Request オブジェクトを通じて、リクエストを処理して応答するために、リクエスト メソッド、リクエスト ヘッダー情報、リクエスト パラメータなどのクライアントのリクエスト情報を取得できます。 PHP では、$_REQUEST、$_GET、$_POST などのグローバル変数を使用して、要求された情報を取得できますが、これらの変数はオブジェクトではなく配列です。リクエスト情報をより柔軟かつ便利に処理するために、次のことができます。

urllib.request.urlopen() 関数を使用して Python 3.x で GET リクエストを送信する方法 urllib.request.urlopen() 関数を使用して Python 3.x で GET リクエストを送信する方法 Jul 30, 2023 am 11:28 AM

Python3.x で urllib.request.urlopen() 関数を使用して GET リクエストを送信する方法 ネットワーク プログラミングでは、HTTP リクエストを送信してリモート サーバーからデータを取得する必要があることがよくあります。 Python では、urllib モジュールの urllib.request.urlopen() 関数を使用して、HTTP リクエストを送信し、サーバーから返される応答を取得できます。この記事では使い方を紹介します

Java API開発における認証にAuth0を使用する Java API開発における認証にAuth0を使用する Jun 18, 2023 pm 05:30 PM

最新のソフトウェア開発において、ID 認証は非常に重要なセキュリティ対策です。 Auth0 は ID 認証サービスを提供する会社で、開発者が複数の ID 認証方式 (OAuth2、OpenIDConnect など) を迅速に実装し、安全で信頼性の高い認証サービスを提供できるように支援します。この記事では、JavaAPI開発における認証にAuth0を使用する方法を紹介します。ステップ 1: Auth0 アカウントを作成し、アプリケーションを登録します。

PHPにおけるリクエストの役割と重要性 PHPにおけるリクエストの役割と重要性 Feb 27, 2024 pm 12:54 PM

PHP におけるリクエストの役割と重要性 PHP プログラミングにおけるリクエストは、Web サーバーにリクエストを送信するためのメカニズムであり、Web 開発において重要な役割を果たします。リクエストは主に、フォームの送信、GET または POST リクエストなど、クライアントから送信されたデータを取得するために使用されます。リクエストを通じて、ユーザーが入力したデータを取得し、データを処理して応答することができます。この記事では、PHPにおけるリクエストの役割と重要性を紹介し、具体的なコード例を示します。

Vue3 Axios インターセプターをリクエスト ファイルにカプセル化する方法 Vue3 Axios インターセプターをリクエスト ファイルにカプセル化する方法 May 19, 2023 am 11:49 AM

1. request.js という名前の新しいファイルを作成し、Axios をインポートします: importaxiosfrom'axios'; 2. request という名前の関数を作成してエクスポートします: これにより、request という名前の関数が作成され、それがエクスポートされます ベース URL を使用して新しい Axios インスタンスを設定します。ラップされた Axios インスタンスにタイムアウト設定を追加するには、Axios インスタンスの作成時にタイムアウト オプションを渡すことができます。 exportconstrequest=axios.create({baseURL:'https://example.

See all articles