gpt4 book ai didi

php - laravel 路由过滤器来检查用户角色

转载 作者:可可西里 更新时间:2023-10-31 23:05:35 25 4
gpt4 key购买 nike

我正在 laravel 4 中构建一个 restful api,其中有具有不同类型权限的用户。我想根据用户角色(保存在 db 的用户表中)限制对不同路由的访问

我该怎么做?这是我到目前为止所拥有的(到目前为止还没有用)。

过滤器.php

//allows backend api access depending on the user's role once they are logged in
Route::filter('role', function()
{
return Auth::user()->role;
});

路由.php

 Route::group(array('before' => 'role'), function($role) {
if($role==1){
Route::get('customer/retrieve/{id}', 'CustomerController@retrieve_single');
Route::post('customer/create', 'CustomerController@create');
Route::put('customer/update/{id}', 'CustomerController@update');
}

});

有没有可能我写错了“组过滤器”的语法?

最佳答案

尝试以下操作:

filters.php

Route::filter('role', function()
{
if ( Auth::user()->role !==1) {
// do something
return Redirect::to('/');
}
});

routes.php

 Route::group(array('before' => 'role'), function() {
Route::get('customer/retrieve/{id}', 'CustomerController@retrieve_single');
Route::post('customer/create', 'CustomerController@create');
Route::put('customer/update/{id}', 'CustomerController@update');


});

关于php - laravel 路由过滤器来检查用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com