我在首页设置了访问授权
public function index()
{
$role = Role::find(1);
// admin 已经登录了,Auth::guard('admin')->user(); 能获取到
$chk = Gate::denies('showA',$role);
return $chk ? '没有授权' : '已授权';
}
问题是 AuthServiceProvider 这里我改怎么写呢?
因为我没用官方提供的User模型,自己新建了一个Admin模型
官方文档也都是 User模型来说明,不知道怎么弄。
我的Admin 在 App\Http\Models\Admin::class
// 这里是看着视频添加的,不知道什么意思
// $user是什么时候获取的 找了半天源码还是看不明白。
public function boot()
{
$this->registerPolicies();
Gate::define('showA',function($user,$role){
return !! $user->role_id === $role->id;
});
`
找到问题了,因为config/auth.php里的 default = web
指定用户的话可以通过。哎
$this->authorizeForUser($user,'showA',$role);
请问有没有在boot里面指定guard方法吗?