【发布时间】:2020-06-17 02:57:39
【问题描述】:
大家好,晚上好。 我正在用 laravel 练习,但我有错误。 我不确定因为我有一个错误 403 。 我正在使用提供商! 这是方法从用户获取 id 并使用 $this->authorize($user);
public function edit($id){
// buscar usuario en la base de datos y evitar
// la insercion de datos nulos
$user = User::findorFail($id);
$this->authorize($user);
return view('users.edit', compact('user'));
}
之后在名为 PoliticaUsuario 的类中有一个名为“edit”的方法,我想比较用户但返回 false,我得到错误 403 或此操作未经授权。!
class PoliticaUsuario
{
use HandlesAuthorization;
/**
* Create a new policy instance.
*
* @return void
*/
public function __construct()
{
//
}
public function edit(User $auth, User $user ){
return $auth->id === $user->id;
}
}
显然,这是 Provider,我在其中插入名为 PoliticaUsuario 的类和用户模型
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
User::class => PoliticaUsuario::class,
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
//
}
}
this is the photo from database :) 请原谅我的英语我还在学习!!
【问题讨论】:
-
你使用的是什么版本的 Laravel?
-
@lagbox 完全正确!!但是现在有人帮助了我!!谢谢!!
-
@lagbox 7.15.0 !!! :) 它非常有趣的 laravel !!
标签: laravel