{"id":795,"date":"2025-06-11T23:52:47","date_gmt":"2025-06-11T15:52:47","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/795.html"},"modified":"2025-06-11T23:52:47","modified_gmt":"2025-06-11T15:52:47","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-laravel-%e4%b8%ad%e5%ae%9a%e4%b9%89%e4%b8%ad%e9%97%b4%e4%bb%b6","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/795.html","title":{"rendered":"\u5982\u4f55\u5728 Laravel \u4e2d\u5b9a\u4e49\u4e2d\u95f4\u4ef6"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel &#20013;&#23450;&#20041;&#20013;&#38388;&#20214;&#26159;&#19968;&#20010;&#30456;&#23545;&#31616;&#21333;&#30340;&#36807;&#31243;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#23450;&#20041;&#21644;&#20351;&#29992;&#20013;&#38388;&#20214;&#30340;&#35814;&#32454;&#27493;&#39588;&#65306;<\/p>\n<h3>1. &#21019;&#24314;&#20013;&#38388;&#20214;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#21629;&#20196;&#26469;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; <code>ExampleMiddleware<\/code> &#30340;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:middleware ExampleMiddleware<\/code><\/pre>\n<p>&#36825;&#23558;&#29983;&#25104;&#19968;&#20010; <code>ExampleMiddleware.php<\/code> &#25991;&#20214;&#12290;<\/p>\n<h3>2. &#32534;&#36753;&#20013;&#38388;&#20214;&#25991;&#20214;<\/h3>\n<p>&#25171;&#24320; <code>app\/Http\/Middleware\/ExampleMiddleware.php<\/code> &#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#19968;&#20123;&#36923;&#36753;&#21040;&#20854;&#20013;&#12290;&#20363;&#22914;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesAuth;\n\nclass ExampleMiddleware\n{\n    \/**\n     * Handle an incoming request.\n     *\n     * @param  IlluminateHttpRequest  $request\n     * @param  Closure  $next\n     * @return mixed\n     *\/\n    public function handle($request, Closure $next)\n    {\n        if (Auth::check()) {\n            \/\/ &#22914;&#26524;&#29992;&#25143;&#24050;&#30331;&#24405;&#65292;&#21017;&#32487;&#32493;&#25191;&#34892;&#19979;&#19968;&#20010;&#20013;&#38388;&#20214;&#25110;&#36335;&#30001;\n            return $next($request);\n        } else {\n            \/\/ &#22914;&#26524;&#29992;&#25143;&#26410;&#30331;&#24405;&#65292;&#21017;&#37325;&#23450;&#21521;&#21040;&#30331;&#24405;&#39029;&#38754;\n            return redirect()-&gt;route('login');\n        }\n    }\n}<\/code><\/pre>\n<h3>3. &#27880;&#20876;&#20013;&#38388;&#20214;<\/h3>\n<p>&#25509;&#19979;&#26469;&#65292;&#20320;&#38656;&#35201;&#23558;&#36825;&#20010;&#20013;&#38388;&#20214;&#27880;&#20876;&#21040;&#36335;&#30001;&#20013;&#12290;&#20320;&#21487;&#20197;&#22312; <code>routes\/web.php<\/code> &#25110;&#20854;&#20182;&#36335;&#30001;&#25991;&#20214;&#20013;&#36827;&#34892;&#27880;&#20876;&#12290;&#20363;&#22914;&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/dashboard', function () {\n    return view('dashboard');\n})-&gt;middleware('example');<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;<code>example<\/code> &#26159;&#20320;&#20043;&#21069;&#23450;&#20041;&#30340;&#20013;&#38388;&#20214;&#21517;&#31216;&#12290;<\/p>\n<h3>4. &#20351;&#29992;&#20013;&#38388;&#20214;<\/h3>\n<p>&#29616;&#22312;&#65292;&#24403;&#20320;&#35775;&#38382; <code>\/dashboard<\/code> &#36335;&#30001;&#26102;&#65292;&#22914;&#26524;&#29992;&#25143;&#27809;&#26377;&#30331;&#24405;&#65292;&#20182;&#20204;&#20250;&#34987;&#37325;&#23450;&#21521;&#21040;&#30331;&#24405;&#39029;&#38754;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#23450;&#20041;&#12289;&#27880;&#20876;&#21644;&#20351;&#29992;&#20013;&#38388;&#20214;&#65306;<\/p>\n<h4>1. &#21019;&#24314;&#20013;&#38388;&#20214;<\/h4>\n<pre><code class=\"language-bash\">php artisan make:middleware ExampleMiddleware<\/code><\/pre>\n<h4>2. &#32534;&#36753;&#20013;&#38388;&#20214;&#25991;&#20214;<\/h4>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesAuth;\n\nclass ExampleMiddleware\n{\n    \/**\n     * Handle an incoming request.\n     *\n     * @param  IlluminateHttpRequest  $request\n     * @param  Closure  $next\n     * @return mixed\n     *\/\n    public function handle($request, Closure $next)\n    {\n        if (Auth::check()) {\n            return $next($request);\n        } else {\n            return redirect()-&gt;route('login');\n        }\n    }\n}<\/code><\/pre>\n<h4>3. &#27880;&#20876;&#20013;&#38388;&#20214;<\/h4>\n<p>&#22312; <code>routes\/web.php<\/code> &#20013;&#27880;&#20876;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/dashboard', function () {\n    return view('dashboard');\n})-&gt;middleware('example');<\/code><\/pre>\n<h4>4. &#20351;&#29992;&#20013;&#38388;&#20214;<\/h4>\n<p>&#29616;&#22312;&#65292;&#24403;&#35775;&#38382; <code>\/dashboard<\/code> &#36335;&#30001;&#26102;&#65292;&#22914;&#26524;&#29992;&#25143;&#27809;&#26377;&#30331;&#24405;&#65292;&#20182;&#20204;&#20250;&#34987;&#37325;&#23450;&#21521;&#21040;&#30331;&#24405;&#39029;&#38754;&#12290;<\/p>\n<p>&#36890;&#36807;&#36825;&#20123;&#27493;&#39588;&#65292;&#20320;&#23601;&#21487;&#20197;&#22312; Laravel &#20013;&#25104;&#21151;&#23450;&#20041;&#21644;&#20351;&#29992;&#20013;&#38388;&#20214;&#20102;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#20013;&#38388;&#20214;&#22312;Laravel&#20013;&#25552;&#20379;&#20102;&#19968;&#31181;&#26041;&#20415;&#30340;&#26041;&#27861;&#26469;&#26816;&#26597;&#21644;&#36807;&#28388;&#36827;&#20837;&#24212;&#29992;&#31243;&#24207;&#30340;HTTP&#35831;&#27714;&#12290;&#26412;&#25945;&#31243;&#23558;&#24102;&#20320;&#20837;&#38376;&#65292;&#20171;&#32461;&#22914;&#20309;&#21019;&#24314;&#21644;&#20351;&#29992;Laravel&#20013;&#30340;&#20013;&#38388;&#20214;&#12290;&#25105;&#20204;&#23558;&#20174;&#31616;&#21333;&#30340;&#31034;&#20363;&#24320;&#22987;&#65292;&#36880;&#27493;&#36807;&#28193;&#21040;&#26356;&#39640;&#32423;&#30340;&#24212;&#29992;&#22330;&#26223;&#12290;<\/p><h2>&#29702;&#35299;&#20013;&#38388;&#20214;<\/h2><p>Laravel &#20013;&#38388;&#20214;&#29992;&#20110;&#22312;&#35831;&#27714;&#21040;&#36798;&#25511;&#21046;&#22120;&#20043;&#21069;&#23545;&#35831;&#27714;&#36827;&#34892;&#20462;&#25913;&#65292;&#22312;&#21709;&#24212;&#36820;&#22238;&#23458;&#25143;&#31471;&#20043;&#21069;&#23545;&#21709;&#24212;&#36827;&#34892;&#20462;&#25913;&#12290;&#23427;&#21487;&#20197;&#29992;&#20110;&#26085;&#24535;&#35760;&#24405;&#12289;&#36523;&#20221;&#39564;&#35777;&#12289;&#32531;&#23384;&#31561;&#12290;<\/p><h3>&#21019;&#24314;&#20013;&#38388;&#20214;<\/h3><p>&#22312; Laravel &#20013;&#21019;&#24314;&#20013;&#38388;&#20214;&#65292;&#20351;&#29992;&#12290;<code>make:middleware<\/code>&#23545;&#19981;&#36215;&#65292;&#25105;&#19981;&#22826;&#26126;&#30333;&#24744;&#30340;&#38382;&#39064;&#65292;&#35831;&#24744;&#37325;&#26032;&#25551;&#36848;&#19968;&#19979;&#12290;<\/p><pre><code>php artisan make:middleware CheckAge<\/code><\/pre><p>&#35813;&#21629;&#20196;&#23558;&#20250;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;<code>CheckAge<\/code>&#20013;&#38388;&#20214;&#22312;&#20869;&#37096;&#12290;<code>appHttpMiddleware<\/code>&#30446;&#24405;&#12290;<\/p><h3>&#23450;&#20041;&#20013;&#38388;&#20214;&#36923;&#36753;<\/h3><p>&#35831;&#25552;&#20379;&#38656;&#35201;&#32534;&#36753;&#30340;&#20013;&#38388;&#20214;&#20195;&#30721;&#65292;&#20197;&#20415;&#25105;&#36827;&#34892;&#20462;&#25913;&#21644;&#23454;&#29616;&#24744;&#30340;&#36923;&#36753;&#12290;<\/p><pre><code>public function handle($request, Closure $next)\n{\n    if ($request-&gt;age \n    return $next($request);\n}\n<\/code><\/pre><h3>&#27880;&#20876;&#20013;&#38388;&#20214;<\/h3><p>&#22312;&#24212;&#29992;&#20013;&#38388;&#20214;&#27880;&#20876;&#12290;<code>appHttpKernel.php<\/code>&#25991;&#20214;&#12290;&#20320;&#21487;&#20197;&#27880;&#20876;&#20026;&#20840;&#23616;&#20013;&#38388;&#20214;&#12289;&#36335;&#30001;&#20013;&#38388;&#20214;&#25110;&#20998;&#32452;&#20013;&#38388;&#20214;&#12290;<\/p><h4>&#20840;&#29699;&#20013;&#38388;&#20214;<\/h4><pre><code>protected $middleware = [\n    AppHttpMiddlewareCheckAge::class,\n];\n<\/code><\/pre><h4>&#36335;&#30001;&#20013;&#38388;&#20214;<\/h4><pre><code>protected $routeMiddleware = [\n    'age' =&gt; AppHttpMiddlewareCheckAge::class,\n];\n<\/code><\/pre><p>&#20026;&#20102;&#20351;&#29992;&#36335;&#30001;&#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#23558;&#20854;&#20998;&#37197;&#21040;&#19968;&#20010;&#36335;&#30001;&#19978;&#65306;<\/p><pre><code>Route::get('profile', 'ProfileController@show')-&gt;middleware('age');<\/code><\/pre><h3>&#22312;&#20013;&#38388;&#20214;&#21442;&#25968;&#20013;&#12290;<\/h3><p>&#20013;&#38388;&#20214;&#20063;&#21487;&#20197;&#25509;&#25910;&#21442;&#25968;&#12290;&#35753;&#25105;&#20204;&#20462;&#25913;&#19968;&#19979;&#12290;<code>CheckAge<\/code>&#20013;&#38388;&#20214;&#25509;&#21463;&#19968;&#20010;&#26368;&#23567;&#24180;&#40836;&#21442;&#25968;&#65306;<\/p><pre><code>public function handle($request, Closure $next, $age)\n{\n    if ($request-&gt;age &lt; $age) {\n        return redirect('home');\n    }\n    return $next($request);\n}\n<\/code><\/pre><p>&#20026;&#20102;&#20256;&#36882;&#21442;&#25968;&#21040;&#36335;&#30001;&#20013;&#38388;&#20214;&#65306;<\/p><pre><code>Route::get('profile', 'ProfileController@show')-&gt;middleware('age:18');<\/code><\/pre><h2>&#20013;&#38388;&#20214;&#32452;<\/h2><p>Laravel &#21253;&#21547;&#20013;&#38388;&#20214;&#32452;&#65292;&#20801;&#35768;&#24744;&#32452;&#21512;&#22810;&#20010;&#20013;&#38388;&#20214;&#24182;&#23558;&#20854;&#20998;&#37197;&#21040;&#36335;&#30001;&#25110;&#36335;&#30001;&#32452;&#65306;<\/p><pre><code>'web' =&gt; [\n    AppHttpMiddlewareEncryptCookies::class,\n    ...,\n    AppHttpMiddlewareVerifyCsrfToken::class,\n],<\/code><\/pre><p>&#24212;&#29992;&#20013;&#38388;&#20214;&#32452;&#21040;&#36335;&#30001;&#65306;<\/p><pre><code>Route::group(['middleware' =&gt; ['web']], function () {\n    Route::get('\/', function () {\n        \/\/ Uses 'web' middleware group...\n    });\n});<\/code><\/pre><h2>&#20013;&#38388;&#20214;&#20248;&#20808;&#32423;<\/h2><p>&#35774;&#32622;&#20840;&#23616;&#20013;&#38388;&#20214;&#30340;&#39034;&#24207;&#65292;&#35831;&#25353;&#20197;&#19979;&#26041;&#24335;&#21015;&#20986;&#23427;&#20204;&#65306;<code>$middlewarePriority<\/code>&#25968;&#32452;&#22312;&#12290;<code>Kernel<\/code>&#25265;&#27465;&#65292;&#25105;&#19981;&#22826;&#26126;&#30333;&#24744;&#30340;&#24847;&#24605;&#65292;&#35831;&#24744;&#37325;&#26032;&#25551;&#36848;&#19968;&#19979;&#12290;<\/p><pre><code>protected $middlewarePriority = [\n    IlluminateSessionMiddlewareStartSession::class,\n    AppHttpMiddlewareAuthenticate::class,\n    ...,\n];\n<\/code><\/pre><h2>&#21487;&#32456;&#27490;&#20013;&#38388;&#20214;<\/h2><p>Laravel &#20801;&#35768;&#20013;&#38388;&#20214;&#22312;&#21709;&#24212;&#24050;&#21457;&#36865;&#21040;&#27983;&#35272;&#22120;&#20043;&#21518;&#25191;&#34892;&#20219;&#21153;&#65306;<\/p><pre><code>public function terminate($request, $response)\n{\n    \/\/ Perform some action\n}\n<\/code><\/pre><p>&#23545;&#19981;&#36215;&#65292;&#24744;&#30340;&#28040;&#24687;&#27809;&#26377;&#25509;&#25910;&#21040;&#12290;&#35831;&#37325;&#26032;&#21457;&#36865;&#12290;<code>terminate<\/code>&#26041;&#27861;&#20165;&#22312;&#20013;&#38388;&#20214;&#23454;&#29616;&#26102;&#25165;&#20250;&#34987;&#35843;&#29992;&#12290;<code>Terminable<\/code>&#25509;&#21475;&#12290;<\/p><h3>&#27491;&#22312;&#27979;&#35797;&#20013;&#38388;&#20214;&#12290;<\/h3><p>&#27979;&#35797;&#20013;&#38388;&#20214;&#26102;&#65292;&#35831;&#23450;&#20041;&#20351;HTTP&#35831;&#27714;&#21040;&#24212;&#29992;&#31243;&#24207;&#24182;&#26029;&#35328;&#39044;&#26399;&#34892;&#20026;&#30340;&#27979;&#35797;&#65306;<\/p><pre><code>public function testMiddleware()\n{\n    $response = $this-&gt;get('profile');\n    $response-&gt;assertStatus(302);\n}\n<\/code><\/pre><h2>&#39640;&#32423;&#20013;&#38388;&#20214;&#30340;&#20351;&#29992;<\/h2><p>&#23545;&#20110;&#26356;&#22797;&#26434;&#30340;&#24212;&#29992;&#65292;&#21487;&#20197;&#20351;&#29992;&#20013;&#38388;&#20214;&#22312;&#39640;&#32423;&#22330;&#26223;&#20013;&#21457;&#25381;&#20316;&#29992;&#65292;&#20363;&#22914;&#36895;&#29575;&#38480;&#21046;&#12289;CORS&#65288;&#36328;&#28304;&#36164;&#28304;&#20849;&#20139;&#65289;&#25110;&#23558;&#21709;&#24212;&#25968;&#25454;&#36716;&#25442;&#20026;&#29305;&#23450;&#26684;&#24335;&#12290;<\/p><h3>&#20351;&#29992;&#20013;&#38388;&#20214;&#26469;&#36716;&#25442;&#21709;&#24212;<\/h3><p>&#20013;&#38388;&#20214;&#21487;&#20197;&#22312;&#21709;&#24212;&#34987;&#21457;&#36865;&#21040;&#23458;&#25143;&#31471;&#20043;&#21069;&#23545;&#20854;&#36827;&#34892;&#20462;&#25913;&#65306;<\/p><pre><code>public function handle($request, Closure $next)\n{\n    $response = $next($request);\n    \/\/ Modify the response here\n    return $response;\n}\n<\/code><\/pre><h3>&#21160;&#24577;&#20013;&#38388;&#20214;&#20998;&#37197;<\/h3><p>Laravel &#20801;&#35768;&#22312;&#25511;&#21046;&#22120;&#30340;&#26500;&#36896;&#20989;&#25968;&#25110;&#26041;&#27861;&#20013;&#21160;&#24577;&#22320;&#20026;&#20013;&#38388;&#20214;&#36171;&#20540;&#65306;<\/p><pre><code>public function __construct()\n{\n    $this-&gt;middleware('age', ['only' =&gt; ['show']]);\n}\n<\/code><\/pre><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;&#36825;&#20221;&#25351;&#21335;&#20013;&#65292;&#25105;&#20204;&#25506;&#35752;&#20102;&#22312;Laravel&#20013;&#23450;&#20041;&#12289;&#27880;&#20876;&#21644;&#23454;&#29616;&#20013;&#38388;&#20214;&#30340;&#19981;&#21516;&#26041;&#27861;&#65292;&#20174;&#22522;&#26412;&#21040;&#39640;&#32423;&#20351;&#29992;&#26696;&#20363;&#12290;&#26377;&#20102;&#36825;&#20123;&#30693;&#35782;&#65292;&#20320;&#21487;&#20197;&#26377;&#25928;&#22320;&#26681;&#25454;&#24212;&#29992;&#31243;&#24207;&#30340;&#38656;&#27714;&#23450;&#21046;&#35831;&#27714;&#21644;&#21709;&#24212;&#24490;&#29615;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel &#20013;&#23450;&#20041;&#20013;&#38388;&#20214;&#65288;Middleware&#65289;&#26159;&#19968;&#31181;&#38750;&#24120;&#26377;&#29992;&#30340;&#25216;&#26415;&#65292;&#23427;&#20801;&#35768;&#20320;&#22312;&#24212;&#29992;&#31243;&#24207;&#30340;&#21508;&#20010;&#37096;&#20998;&#20043;&#38388;&#36827;&#34892;&#25511;&#21046;&#65292;&#24182;&#19988;&#21487;&#20197;&#26377;&#25928;&#22320;&#25552;&#39640;&#23433;&#20840;&#24615;&#12290;<\/p>\n<p>&#20197;&#19979;&#26159;&#22914;&#20309;&#22312; Laravel &#20013;&#23450;&#20041;&#20013;&#38388;&#20214;&#30340;&#22522;&#26412;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>&#23433;&#35013;&#24182;&#37197;&#32622;&#20013;&#38388;&#20214;<\/li>\n<\/ol>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#23433;&#35013;&#24182;&#37197;&#32622; Laravel &#30340;&#20013;&#38388;&#20214;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807; Composer &#26469;&#23436;&#25104;&#36825;&#20010;&#25805;&#20316;&#12290;&#25171;&#24320;&#21629;&#20196;&#34892;&#24037;&#20855;&#65292;&#36755;&#20837;&#20197;&#19979;&#21629;&#20196;&#26469;&#23433;&#35013; Laravel &#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer require laravel\/framework middlewares<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#20351;&#29992; composer &#21629;&#20196;&#26469;&#21152;&#36733;&#36825;&#20123;&#20013;&#38388;&#20214;&#21040;&#20320;&#30340;&#39033;&#30446;&#20013;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan vendor:publish --provider=\"LaravelProvidersAppServiceProvider\"<\/code><\/pre>\n<p>&#36825;&#23558;&#33258;&#21160;&#20026;&#20320;&#30340;&#24212;&#29992;&#28155;&#21152;&#20102; Laravel &#20013;&#38388;&#20214;&#12290;<\/p>\n<ol start=\"2\">\n<li>&#23450;&#20041;&#20013;&#38388;&#20214;<\/li>\n<\/ol>\n<p>&#22312; Laravel 5.x &#21450;&#26356;&#39640;&#29256;&#26412;&#20013;&#65292;&#20013;&#38388;&#20214;&#21487;&#20197;&#22312; <code>app\/Http\/Middleware<\/code> &#30446;&#24405;&#19979;&#21019;&#24314;&#12290;&#22914;&#26524;&#20320;&#24819;&#35201;&#23450;&#20041;&#19968;&#20010;&#21517;&#20026; <code>auth<\/code> &#30340;&#20013;&#38388;&#20214;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesAuth;\n\nclass AuthMiddleware\n{\n    public function handle($request, Closure $next)\n    {\n        if (!Auth::check()) {\n            return redirect()-&gt;route('login');\n        }\n\n        return $next($request);\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#23450;&#20041;&#20102;&#19968;&#20010;&#21517;&#20026; <code>auth<\/code> &#30340;&#20013;&#38388;&#20214;&#65292;&#23427;&#26816;&#26597;&#24403;&#21069;&#29992;&#25143;&#26159;&#21542;&#24050;&#30331;&#24405;&#12290;&#22914;&#26524;&#29992;&#25143;&#26410;&#30331;&#24405;&#65292;&#21017;&#37325;&#23450;&#21521;&#21040;&#30331;&#24405;&#39029;&#38754;&#12290;<\/p>\n<ol start=\"3\">\n<li>&#20351;&#29992;&#20013;&#38388;&#20214;<\/li>\n<\/ol>\n<p>&#19968;&#26086;&#20320;&#23450;&#20041;&#20102;&#20013;&#38388;&#20214;&#65292;&#23601;&#21487;&#20197;&#23558;&#20854;&#24212;&#29992;&#20110;&#20219;&#20309;&#38656;&#35201;&#30340;&#22320;&#26041;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#22312;&#25152;&#26377;&#35831;&#27714;&#20013;&#25191;&#34892;&#39564;&#35777;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20351;&#29992;&#65306;<\/p>\n<pre><code class=\"language-php\">public function handle($request, Closure $next)\n{\n    \/\/ &#39564;&#35777;&#24403;&#21069;&#29992;&#25143;&#30340;&#26435;&#38480;\n    if (!$this-&gt;isAuthorized()) {\n        return abort(401);\n    }\n\n    return $next($request);\n}\n\nprivate function isAuthorized()\n{\n    return auth()-&gt;check();\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#22312;&#25511;&#21046;&#22120;&#30340;&#22788;&#29702;&#26041;&#27861;&#20013;&#20351;&#29992;&#20102; <code>handle()<\/code> &#26041;&#27861;&#65292;&#24182;&#19988;&#20256;&#20837;&#20102; <code>$next<\/code> &#21442;&#25968;&#12290;&#36825;&#24847;&#21619;&#30528;&#25105;&#20204;&#30340;&#20013;&#38388;&#20214;&#23558;&#22312;&#25511;&#21046;&#22120;&#30340;&#22788;&#29702;&#36923;&#36753;&#20043;&#21069;&#34987;&#25191;&#34892;&#12290;&#21516;&#26102;&#65292;&#25105;&#20204;&#36824;&#23450;&#20041;&#20102;&#19968;&#20010;&#31169;&#26377;&#26041;&#27861; <code>isAuthorized()<\/code> &#26469;&#26816;&#26597;&#24403;&#21069;&#29992;&#25143;&#26159;&#21542;&#20855;&#26377;&#25480;&#26435;&#12290;<\/p>\n<p>&#24635;&#32467;&#19968;&#19979;&#65292;&#23450;&#20041;&#20013;&#38388;&#20214;&#30340;&#26041;&#27861;&#26159;&#65306;<\/p>\n<ul>\n<li>&#23450;&#20041;&#19968;&#20010;&#20013;&#38388;&#20214;&#31867;&#65292;&#35813;&#31867;&#32487;&#25215;&#33258; <code>IlluminateHttpMiddlewareMiddlewareContract<\/code>&#12290;<\/li>\n<li>&#22312;&#20013;&#38388;&#20214;&#31867;&#20013;&#23454;&#29616; <code>handle()<\/code> &#26041;&#27861;&#65292;&#35813;&#26041;&#27861;&#25509;&#21463;&#20004;&#20010;&#21442;&#25968;&#65306;$request &#21644; $next&#12290;<\/li>\n<li>&#22914;&#26524;&#29992;&#25143;&#26410;&#30331;&#24405;&#65292;&#21017;&#35843;&#29992; <code>abort()<\/code> &#20989;&#25968;&#24182;&#36820;&#22238;&#29366;&#24577;&#30721; 401&#12290;<\/li>\n<li>&#22914;&#26524;&#29992;&#25143;&#24050;&#30331;&#24405;&#65292;&#21017;&#35843;&#29992; <code>$next<\/code> &#26041;&#27861;&#24182;&#23558;&#35831;&#27714;&#20256;&#36882;&#32473;&#19979;&#19968;&#20010;&#22788;&#29702;&#22120;&#12290;<\/li>\n<\/ul>\n<p>&#24076;&#26395;&#36825;&#23545;&#24744;&#26377;&#25152;&#24110;&#21161;&#65281;&#22914;&#26524;&#24744;&#26377;&#20219;&#20309;&#30097;&#38382;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312; Laravel &#20013;&#23450;&#20041;&#20013;&#38388;&#20214;&#26159;&#19968;&#20010;&#30456;&#23545;&#31616;&#21333;&#30340;&#038;#3..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-795","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=795"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=795"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=795"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}