-1
我正在爲移動應用程序編寫其他API。我不知道如何在我的應用中授權用戶和管理員。 我有一個名爲「用戶」表,有一個名爲「isAdmin」這是或場。 現在當管理員發送帖子時,用戶可以看到posts.how您是否推薦驗證碼這兩個? 謝謝laravel rest api中的身份驗證和用戶管理
我正在爲移動應用程序編寫其他API。我不知道如何在我的應用中授權用戶和管理員。 我有一個名爲「用戶」表,有一個名爲「isAdmin」這是或場。 現在當管理員發送帖子時,用戶可以看到posts.how您是否推薦驗證碼這兩個? 謝謝laravel rest api中的身份驗證和用戶管理
我建議你閱讀有關身份驗證的laravel文檔:https://laravel.com/docs/5.5/authentication
你必須設置什麼是以下幾點:
一個AdminMiddleware文件的實施例- 通過命令行創建:PHP人員化妝:中間件AdminMiddleware一個用戶模型isAdmin功能的
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
class AdminMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::check() && Auth::user()->isAdmin()){
return $next($request);
}
else{
return view('your_view')->withErrors('You are not logged in');
}
}
}
實施例 - 由創建命令行:php artisan make:model用戶
012你的路由文件// @TODO: Set routes for user and admin here...
Route::group(['middleware' => ['admin']], function() {
// @TODO: Set admin routes here, only admin can use this routes.
});
您也可以編輯您的Kernel.php有點
例子:
protected $routeMiddleware = [
// ... add this line
'admin' => \App\Http\Middleware\AdminMiddleware::class,
];
非常感謝你much.how你建議嗎?與isAdmin或兩張桌子的一張桌子? –
@Steve我建議使用帶有isAdmin列的用戶表。如果稍後您決定要添加多種類型的用戶,請將列設置爲枚舉並更改isAdmin函數以適應此要求。否則,您最終會爲新類型的用戶創建新表,因此不建議這樣做。 –