【发布时间】:2021-02-24 05:31:21
【问题描述】:
我正在使用 Laravel 8,并且我有一个名为 Profile 的资源控制器。在这个控制器中,用户可以编辑他们的用户配置文件信息。
所以在edit 方法中,我放了这个:
public function edit(User $user)
{
$this->authorize('edit-user', $user);
return view('editprofile', compact('user'));
}
用户可以通过这个按钮访问editprofile刀片:
<a href="{{ route('profile.edit' , ['profile' => Auth::user()->id]) }}" class="btn">Edit Profile</a>
但现在的问题是,它返回了这个:
403 此操作未经授权。
但是我已经登录了,我想访问我自己的 profile.edit 而不是其他用户!
所以如果你知道我为什么会收到这个错误,请告诉我,我非常感谢你们的任何想法或建议......
谢谢。
这也是我的路线:
Route::middleware('auth')->group(function() {
Route::resource('profile' , ProfileController::class);
});
UDPATE 1:
【问题讨论】:
-
$this->authorize('edit-user', $user);这不起作用我想你可以添加你的策略代码吗? -
你可以试试这个
User $profile