如何在登录后限制用户

时间:2018-04-28 07:50:12

标签: laravel-5

如何在登录后限制不同的用户,以便他们不会访问他们不应该访问的目录?这意味着每个人都应该只访问他们的目录 这是我的登录控制器

protected function sendLoginResponse(Request $request)
    {
        $request->session()->regenerate();
        $this->clearLoginAttempts($request);

        foreach ($this->guard()->user()->roles as $role) {
            if ($role->name=='Admin') {
                return redirect('issuer');
            }else if ($role->name=='Approver') {
                return redirect('approver');
            }else if ($role->name=='Issuer')
            {
                return redirect('issuer');
            }else if ($role->name=='Requester')
            {
                return redirect('requester');
            }
        }
    }
    public function logout()
    {
        Auth::logout();
        Session::flush();
        return redirect('login');
    }

这是我的用户模型

protected $fillable = [
        'name', 'email', 'password','active',
    ];
    protected $hidden = [
        'password', 'remember_token',
    ];
    public function roles()
    {
        return $this->belongsToMany(Role::class,'role_users');
    }

这是我的角色模型

 protected $fillable = ['name'];

    protected $primaryKey = 'id';

    public function users()
    {
        return $this->belongsToMany(User::class, 'role_users');
    }

1 个答案:

答案 0 :(得分:0)

根据您的代码,我发现您的使用角色与角色相同,使目录成为特定的访问级别。例如,名称访问级别,如低级别,中级别,高级别,然后将每个用户指定为各自的访问级别。根据访问级别隐藏和可见目录。

相关问题