我有两种用户类型admin和member。现在,成员只能查看自己的个人资料,而不能查看其他个人资料。只有管理员有权访问所有用户个人资料。
现在我到UsersController @ show的路线(仅管理员可以访问)为http://laravel.test/user/username
但是,如果用户使用自己的用户名访问该网址,则应批准该请求。
这适用于所有其他功能,例如编辑和更新。
现在我可以创建仅为当前用户指定的另一个控制器,将其称为MyController。我可以从UsersController复制代码,只需更改一些代码,即可从auth()获取当前用户。但是我不愿意。
有帮助吗?
答案 0 :(得分:0)
如果您有自己的条件,则应该对此稍作更改,但逻辑是这样
public function show($username)
{
$user = User::where('username',$username)->get();
if($user->id == Auth::id()){
// show profile
}
}