我正在构建一个拥有许多资源用户的API
我在我的数据库users
,agents
,drivers
和admin
如果他们想要访问资源或检查他们的详细信息,他们应该登录以查看我该怎么做
我应该选择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 :(得分:1)
没问题!
只需使用角色!!!
您将拥有一个处理所有AUTH的用户模型... 并为每个用户分配一个角色&#39;代理商
然后例如:
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);
}
只搜索&#34; LaravelUser ACL角色和权限&#34;