Laravel只为当前用户启用路由

时间:2018-10-11 17:06:38

标签: php laravel authentication routes

我有两种用户类型admin和member。现在,成员只能查看自己的个人资料,而不能查看其他个人资料。只有管​​理员有权访问所有用户个人资料。

现在我到UsersController @ show的路线(仅管理员可以访问)为http://laravel.test/user/username

但是,如果用户使用自己的用户名访问该网址,则应批准该请求。

这适用于所有其他功能,例如编辑和更新。

现在我可以创建仅为当前用户指定的另一个控制器,将其称为MyController。我可以从UsersController复制代码,只需更改一些代码,即可从auth()获取当前用户。但是我不愿意。

有帮助吗?

1 个答案:

答案 0 :(得分:0)

如果您有自己的条件,则应该对此稍作更改,但逻辑是这样

public function show($username)
{
    $user = User::where('username',$username)->get();
    if($user->id == Auth::id()){
        // show profile
    }
}