尊龙凯时人生就是博

̽Ë÷ Laravel ÖеÄÊÚȨ»úÖƼ°ÊµÏÖÒªÁì

laravel ÊÇÒ»¸öÊ¢ÐÐµÄ php ¿ò¼Ü£¬ÓÃÓÚ¹¹½¨ÖÖÖÖÀàÐ굀 web Ó¦ÓóÌÐò¡£µ±Äú¹¹½¨ web Ó¦ÓóÌÐòʱ£¬ÍùÍùÐèÒª¶ÔÓû§ºÍ×ÊÔ´¾ÙÐÐÖÎÀíºÍ± £»¤£¬Õâ¾ÍÐèÒª¶Ô»á¼ûȨÏÞ¾ÙÐÐÖÎÀí¡£

Laravel ÌṩÁËÒ»ÖÖ¼òÆÓ¶øÓÐÇ¿Ê¢µÄÈÏÖ¤ºÍÊÚȨҪÁ죬¿ÉÒÔÀû±ãµØΪӦÓóÌÐòµÄÓû§¸¶Óë²î±ð¼¶±ðµÄȨÏÞ¡£ÔÚ±¾ÆªÎÄÕÂÖУ¬ÎÒÃǽ«Ì½Ë÷ Laravel ÖеÄÊÚȨ»úÖƼ°×ÅʵÏÖÒªÁì¡£

ʲôÊÇ Laravel ÊÚȨ

ÊÚȨÊÇÖ¸ÔÚÓ¦ÓóÌÐòÖнç˵ºÍʵÏÖ»á¼û¿ØÖƵÄÀú³Ì¡£Õâ°üÀ¨È·ÈÏÓû§ÊÇË­¡¢ÑéÖ¤ËûÃǵÄÉí·ÝºÍÈ·ÈÏËûÃÇÊÇ·ñ±»ÊÚÓè»á¼û¹²Ïí×ÊÔ´µÄȨÏÞ¡£

ÔÚ Laravel ÖУ¬ÊÚȨÊÇÖ¸Óû§Äܹ»Ö´ÐеÄÌض¨²Ù×÷»ò»á¼ûµÄÌض¨×ÊÔ´¡£Ëü»ùÓÚÓû§µÄ½ÇÉ«»òÔÊÐí֤ȷ¶¨£¬ÒÔ± £»¤Ó¦ÓóÌÐòÖеÄÃô¸Ð²Ù×÷»ò×ÊÔ´¡£

Laravel ÊÚȨµÄÀàÐÍ

ÔÚ Laravel ÖУ¬ÓÐÁ½ÖÖÀàÐ͵ÄÊÚȨ£ºÖÐÐļþÊÚȨºÍÕ½ÂÔÊÚȨ¡£

ÖÐÐļþÊÚȨ

ÖÐÐļþÊÚȨÊÇͨ¹ý Laravel µÄÖÐÐļþ»úÖÆʵÏֵġ£ÖÐÐļþÊÇÔÚ HTTP ÇëÇóºÍÏìÓ¦Ö®¼äÖ´ÐеÄÒ»¶Î´úÂ룬¿ÉÓÃÓÚÍê³ÉÖÖÖÖʹÃü£¬ÀýÈçÇëÇóÑéÖ¤¡¢ÊÚȨ¡¢¼Í¼²Ù×÷µÈ¡£

ʹÓÃÖÐÐļþÊÚȨʱ£¬Ã¿ÆäÖÐÐļþ¶¼¼ì²éÌض¨µÄÌõ¼þ¡£ÈôÊÇÌõ¼þ²»Öª×㣬ÖÐÐļþ»á¾Ü¾øÇëÇ󣬲¢ÇÒÄú¿ÉÒÔ½«Óû§Öض¨Ïòµ½µÇ¼ҳÃæ»òÆäËû¹ýʧҳÃæ¡£

Õ½ÂÔÊÚȨ

Õ½ÂÔÊÚȨÊÇÀëÉ¢µÄÊÚȨϵͳ£¬´ú±íÄúµÄÓ¦ÓóÌÐòÖеÄÿ¸öÄ£×Ó¡£Ê¹ÓÃÕ½ÂÔÊÚȨʱ£¬Äú¿ÉÒÔ½ç˵ÿ¸öÄ£×ÓµÄʹÓÃȨÏÞ£¬ÀýÈç¶ÁÈ¡¡¢½¨Éè¡¢¸üкÍɾ³ýÊý¾ÝµÈ¡£

ʹÓÃÕ½ÂÔÊÚȨʱ£¬Äú¿ÉÒÔÉèÖô¦ÀíÊÚȨÂß¼­µÄÒªÁì¡£ÈôÊÇÊÚȨ¼ì²éʧ°Ü£¬Laravel »á×Ô¶¯Å׳ö 403 Forbidden Òì³£¡£

Laravel ÊÚȨµÄʵÏÖ

ÖÐÐļþÊÚȨ

ҪʹÓÃÖÐÐļþÊÚȨ£¬ÇëʵÏÖÖÐÐļþ²¢½«ÆäÌí¼Óµ½Â·ÓÉÖС£ÖÐÐļþÓ¦¸Ã¼ì²éÌض¨µÄÌõ¼þ£¬²¢ÔÚÌõ¼þ²»Öª×ãʱ×èÖ¹ÇëÇó¡£

ÒÔÏÂÊÇÒ»¸öʾÀýÖÐÐļþʵÏÖ£¬Ëü¼ì²éÓû§ÊÇ·ñÓµÓÐÌض¨µÄ½ÇÉ«£º

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RoleMiddleware
{
    public function handle($request, Closure $next, $role)
    {
        if (! Auth::user()->hasRole($role)) {
            return redirect('/home');
        }

        return $next($request);
    }
}

µÇ¼ºó¸´ÖÆ

ҪʹÓÃÆäÖÐÐļþ£¬Ç뽫Æä×¢²áµ½ app/Http/Kernel.php ÎļþÖÐµÄ $routeMiddleware ÊôÐÔÖС£

protected $routeMiddleware = [
    'role' => \App\Http\Middleware\RoleMiddleware::class,
];

µÇ¼ºó¸´ÖÆ

ÏÖÔÚ£¬Äú¿ÉÒÔÔÚ·ÓÉÖÐʹÓà role ÖÐÐļþÁË¡£

Route::group(['middleware' => ['role:admin']], function () {
    Route::get('/dashboard', function () {
        // Your code
    });
});

µÇ¼ºó¸´ÖÆ

ÉÏÃæµÄ´úÂë»á¼ì²éÓû§ÊÇ·ñÓµÓÐ admin ½ÇÉ«£¬²¢ÔÚûÓÐȨÏÞµÄÇéÐÎÏÂÖض¨Ïòµ½Ö÷Ò³¡£Äú¿ÉÒÔƾ֤ÐèÒªÐÞ¸ÄÖÐÐļþʵÏÖ¡£

Õ½ÂÔÊÚȨ

Õ½ÂÔÊÚȨÊÇÓëÄ£×ÓÏà¹ØµÄÀëÉ¢ÊÚȨϵͳ¡£Äú±ØÐè×ñÕÕÒÔϼ¸¸ö°ì·¨À´ÊµÏÖÕ½ÂÔÊÚȨ£º

ÌìÉúÕ½ÂÔ

ʹÓà make:policy ÏÂÁîÌìÉúÕ½ÂÔÀࣺ

php artisan make:policy ArticlePolicy --model=Article

µÇ¼ºó¸´ÖÆ

´ËÏÂÁÔÚ app/Policies Ŀ¼Öн¨ÉèÒ»¸öÃûΪ ArticlePolicy µÄÀà¡£Äú¿ÉÒÔÔÚ¸ÃÀàÖÐÖ¸¶¨Ã¿¸ö Article Ä£×ÓµÄÊÚȨÂß¼­¡£

×¢²áÕ½ÂÔ

ÔÚ app/Providers/AuthServiceProvider.php ÎļþµÄ $policies ÊôÐÔÖÐ×¢²áÕ½ÂÔ£º

use App\Article;
use App\Policies\ArticlePolicy;

protected $policies = [
    Article::class => ArticlePolicy::class,
];

µÇ¼ºó¸´ÖÆ

½¨ÉèÊÚȨҪÁì

ÏÖÔÚ£¬Äú¿ÉÒÔÔÚÕ½ÂÔÖÐʵÏÖÊÚȨÂß¼­ÁË¡£ÀýÈ磬Äú¿ÉÒÔ½¨ÉèÒ»¸ö¿ÉÒԱ༭ÎÄÕµÄÒªÁ죺

public function update(User $user, Article $article)
{
    return $user->id === $article->user_id;
}

µÇ¼ºó¸´ÖÆ

ÉÏÃæµÄ´úÂë¼ì²éÄ¿½ñÓû§ÊÇ·ñÊÇÎÄÕÂ×÷Õߣ¬ÈôÊÇÊÇ£¬Ôò¿ÉÒÔÐÞ¸ÄÎÄÕ¡£ÈôÊDz»ÊÇ£¬ÔòÎÞ·¨»á¼ûÎÄÕ±༭ҳÃæ¡£

ÒªÔÚ¿ØÖÆÆ÷ÖÐʹÓÃÕ½ÂÔÊÚȨ£¬ÇëÔÚ»á¼û update ÒªÁì֮ǰŲÓà authorize ÒªÁ죺

public function update(Article $article, Request $request)
{
    $this->authorize('update', $article);

    // Your code
}

µÇ¼ºó¸´ÖÆ

ÉÏÃæµÄ´úÂë»á¼ì²éÓû§ÊÇ·ñÓÐȨÏÞÐÞ¸ÄÎÄÕ£¬ÈôÊÇûÓÐÔò»áÅ׳ö 403 Forbidden Òì³£¡£

×ܽá

Laravel ÌṩÁËÒ»ÖÖ¼òÆÓ¶øÓÐÇ¿Ê¢µÄÊÚȨ»úÖÆ£¬¿ÉÒÔÈÃÎÒÃÇÇáËɵØΪӦÓóÌÐòµÄÓû§½ç˵²î±ðµÄȨÏÞ¼¶±ð¡£ÖÐÐļþÊÚȨºÍÕ½ÂÔÊÚȨÊÇ Laravel ÊÚȨµÄÁ½ÖÖÀàÐÍ£¬¿ÉÒÔÓ¦¶Ô²î±ðµÄ³¡¾°¡£

ͨ¹ý±¾ÎĵÄÏÈÈÝ£¬ÐÅÍÐÄúÒѾ­ÕÆÎÕÁË Laravel ÊÚȨµÄ¿´·¨ºÍʵÏÖÒªÁ죬ÈôÊÇÄúÕýÔÚ¹¹½¨Ò»¸öÐèÒª¾ÙÐÐÓû§È¨ÏÞÖÎÀíµÄ Web Ó¦ÓóÌÐò£¬ÕâЩ֪ʶ½«»áÊÇÄúµÄÀûÆ÷¡£

ÒÔÉϾÍÊÇ̽Ë÷ Laravel ÖеÄÊÚȨ»úÖƼ°ÊµÏÖÒªÁìµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í尊龙凯时人生就是博ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ尊龙凯时人生就是博ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ尊龙凯时人生就是博

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
sitemap¡¢ÍøÕ¾µØͼ