/** * Run the database seeds. * * @return void */ public function run() { $defaultRole = ['name' => 'Registered', 'slug' => 'registered']; $adminRole = ['name' => 'Administrator', 'slug' => 'administrator', 'permissions' => ['admin' => "1"]]; $this->role->create($defaultRole, false); $this->role->create($adminRole, false); }
/** * Check if user belongs to the specified role. * * @param Request $request * @param Closure $next * @param string|array $roles * * @return \Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next, $roles) { $accessDenied = true; if (!($user = $this->auth->getActiveUser())) { Flash::error(trans('dashboard::dashboard.flash.access_denied')); return redirect()->route('auth.login'); } if (!is_array($roles)) { $roles = [$roles]; } foreach ($roles as $role) { if (!($role = $this->role->getBySlug($role))) { continue; } if ($user->inRole($role)) { $accessDenied = false; } } if ($accessDenied) { Flash::error(trans('dashboard::dashboard.flash.access_denied')); // Redirect back to the previous page where request was made. return redirect()->back(); } return $next($request); }
/** * Run the database seeds. * * @return void */ public function run() { $defaultUser = ['email' => '*****@*****.**', 'password' => '1234', 'first_name' => '{{first_name}}', 'last_name' => '{{last_name}}']; $this->auth->registerAndActivate($defaultUser, false); $role = $this->role->getBySlug('administrator'); $user = $this->user->getById(1); $role->users()->attach($user); }
/** * {@inheritDoc} */ public function update(array $data, $id, $validate = true) { if (!($user = $this->getById($id))) { throw new UsersException(trans('dashboard::dashboard.errors.user.found')); } if ($user->email != $data['email']) { $this->rules['email'] = 'required|email|unique:users'; } else { $this->rules['email'] = 'required|email'; } if ($validate) { $this->validate($data); } $this->sentinel->update($user, $data); if (isset($data['role'])) { if (!($role = $this->role->getBySlug($data['role']))) { throw new RolesException(trans('dashboard::dashboard.errors.role.found')); } if (!$user->inRole($role)) { $role->users()->attach($user); } } $user->save(); return; }
/** * Check if user belongs to the specified role. * * @param Request $request * @param Closure $next * @param string|array $role * * @return \Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next, $role) { if (!($user = $this->auth->getActiveUser())) { Flash::error(trans('dashboard::dashboard.flash.access_denied')); return redirect()->route('auth.login'); } if (!($role = $this->role->getBySlug($role))) { Flash::error(trans('dashboard::dashboard.flash.access_denied')); // Redirect back to the previous page where request was made. return redirect()->back(); } if (!$user->inRole($role)) { Flash::error(trans('dashboard::dashboard.flash.access_denied')); // Redirect back to the previous page where request was made. return redirect()->back(); } return $next($request); }