2017-01-10 46 views
0

我建立其中有許多資源使用者的API,例如 我在數據庫中有這些表usersagentsdriversadmin我如何驗證多個模型,如用戶,代理商,管理等

如果他們要訪問的資源或者檢查他們的細節,他們應該登錄看到讓我怎麼做,

我應該去laravel passport,並在所有車型做到這一點:

<?php 

namespace App; 

use Laravel\Passport\HasApiTokens; //for agents, drivers, admin 
use Illuminate\Notifications\Notifiable; 
use Illuminate\Foundation\Auth\User as Authenticatable; 

class User extends Authenticatable 
{ 
    use HasApiTokens, Notifiable; //for agents, drivers, admin 
} 

我現在很困惑,請指點我正確的方向。

謝謝!

+0

正是你正在試圖通過API來獲取? – Sona

+0

@SoniyaReddy api擁有所有用戶的詳細信息和驅動程序代理詳細信息,如果用戶登錄,他可以看到他的個人資料和攜帶他們的東西的驅動器(只是他的詳細信息)以及驅動程序在哪個代理下,以及代理程序日誌在他可以添加驅動程序有多個代理的基礎上,如何可以添加任何數量的驅動程序,他們下面的東西, –

+0

無論他是驅動程序或代理或用戶或管理員登錄必須只有一個權利?基於他們的憑據,你需要顯示的細節? – Sona

回答

1

沒問題!

只要使用角色!

您將有一個用戶模式,將處理所有的AUTH ... 併爲每個用戶,你會分配一個角色「代理」

,然後例如:

if (Auth::user()->hasRole('agent')){ 
    .... 
}else if(Auth::user()->hasRole('driver')){ 
    .... 
}else if(Auth::user()->hasRole('admin')){ 
    ... 
}else if(Auth::user()->hasRole('support')){ 
    ... 
} 

了它? 你也可以有像任何角色權限:

public function hasPermission(Permission $permission) 
{ 
    return $this->hasRole($permission->roles); 
} 

只是搜索「LaravelUser ACL角色和權限」

+0

@ Dani Banai感謝您的時間,我在拉拉維爾是一個有點新手,我應該deffine所有角色在我的'用戶'模型中, –

+0

否 您需要創建角色模型!只要看看這是一個開始(第一部分到第四部分):https://laracasts.com/series/whats-new-in-laravel-5-1/episodes/13 –

+0

非常感謝你爲我的時間我真的很感激它,我爲'mobile和web app'構建了一個'API','Agents'將會有移動應用程序,在那裏他可以登錄到'CRUD'驅動程序,其中'admin'將會與'web app '因爲這是一個'API',他可以'CRUD'這個'代理',因爲沒有'session'來存儲代理和管理員的授權,所以我應該爲代理(app)和管理員(管理員)提供'access_token'網頁)對嗎?這是我卡住的地方,我應該讓代理和'管理員'模型可認證到達這個?或者我的執行不好?謝謝 –

相關問題