/**
  * @param $request
  * @param Closure $next
  * @param $role
  *
  * @return mixed
  */
 public function handle($request, Closure $next, $role)
 {
     $role = Sentinel::findRoleBySlug($role);
     if (!$request->user()->inRole($role)) {
         throw new AccessDeniedHttpException(trans('auth.errors.invalid_permission'));
     }
     return $next($request);
 }
Exemplo n.º 2
2
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $trainer = ['first_name' => 'Michael', 'last_name' => 'Favila', 'email' => '*****@*****.**', 'password' => 'password'];
     try {
         $trainerUser = Sentinel::registerAndActivate($trainer);
         $trainerUser->roles()->attach(Sentinel::findRoleBySlug('customer_trainer'));
     } catch (\Exception $e) {
         // nothing to do
     }
 }
Exemplo n.º 3
2
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     // Create an admin user
     $user = Sentinel::create(['email' => '*****@*****.**', 'password' => 'test', 'first_name' => 'Nicolas', 'last_name' => 'Widart']);
     // Activate the admin directly
     $activation = Activation::create($user);
     Activation::complete($user, $activation->code);
     // Find the group using the group id
     $adminGroup = Sentinel::findRoleBySlug('admin');
     // Assign the group to the user
     $adminGroup->users()->attach($user);
 }
Exemplo n.º 4
1
 /**
  * {@inheritDoc}
  */
 public function registerAndActivate(array $data)
 {
     // Setup validation rules.
     $this->rules = ['email' => 'required|email|unique:users', 'password' => 'required|confirmed', 'password_confirmation' => 'required'];
     // Run validation.
     $this->validate($data);
     $user = Sentinel::registerAndActivate($data);
     if (!isset($data['role'])) {
         $data['role'] = config('laraflock.dashboard.defaultRole');
     }
     if (!($role = Sentinel::findRoleBySlug($data['role']))) {
         throw new RolesException(trans('dashboard::dashboard.errors.role.found'));
     }
     $role->users()->attach($user);
     return;
 }
Exemplo n.º 5
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     $groups = Sentinel::getRoleRepository();
     // Create an Admin group
     $groups->createModel()->create(['name' => 'Admin', 'slug' => 'admin']);
     // Create an Users group
     $groups->createModel()->create(['name' => 'User', 'slug' => 'user']);
     // Save the permissions
     $group = Sentinel::findRoleBySlug('admin');
     $group->permissions = ['dashboard.index' => true, 'dashboard.grid.save' => true, 'dashboard.grid.reset' => true, 'workshop.modules.index' => true, 'workshop.modules.show' => true, 'workshop.modules.disable' => true, 'workshop.modules.enable' => true, 'workshop.themes.index' => true, 'workshop.themes.show' => true, 'user.roles.index' => true, 'user.roles.create' => true, 'user.roles.store' => true, 'user.roles.edit' => true, 'user.roles.update' => true, 'user.roles.destroy' => true, 'user.users.index' => true, 'user.users.create' => true, 'user.users.store' => true, 'user.users.edit' => true, 'user.users.update' => true, 'user.users.destroy' => true, 'menu.menus.index' => true, 'menu.menus.create' => true, 'menu.menus.store' => true, 'menu.menus.edit' => true, 'menu.menus.update' => true, 'menu.menus.destroy' => true, 'menu.menuitem.index' => true, 'menu.menuitem.create' => true, 'menu.menuitem.store' => true, 'menu.menuitem.edit' => true, 'menu.menuitem.update' => true, 'menu.menuitem.destroy' => true, 'media.media.index' => true, 'media.media.create' => true, 'media.media.store' => true, 'media.media.edit' => true, 'media.media.update' => true, 'media.media.destroy' => true, 'media.media-grid.index' => true, 'media.media-grid.ckIndex' => true, 'setting.settings.index' => true, 'setting.settings.store' => true, 'setting.settings.getModuleSettings' => true, 'page.pages.index' => true, 'page.pages.create' => true, 'page.pages.store' => true, 'page.pages.edit' => true, 'page.pages.update' => true, 'page.pages.destroy' => true, 'translation.translations.index' => true, 'translation.translations.update' => true, 'translation.translations.export' => true, 'translation.translations.import' => true];
     $group->save();
     $group = Sentinel::findRoleBySlug('user');
     $group->permissions = ['dashboard.index' => true];
     $group->save();
 }
 /**
  * 新增角色 - 业务逻辑
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function add_post()
 {
     $data = $_POST;
     $permissions = '';
     if (isset($data['permissions'])) {
         $permissions = $data['permissions'];
     }
     //判断表单slug是否填写
     if (!isset($data['slug']) || $data['slug'] == null) {
         //            dump('请输入角色slug');
         return redirect()->route('role_add_get');
     }
     //判断slug是否已存在
     $role_check_slug = Sentinel::findRoleBySlug($data['slug']);
     if ($role_check_slug) {
         //            dump('角色slug已存在');
         return redirect()->route('role_add_get');
     }
     //创建角色
     $role_create = Sentinel::getRoleRepository()->createModel()->create(['name' => $data['name'], 'slug' => $data['slug']]);
     return $this->role_permission($role_create, $permissions);
 }
Exemplo n.º 7
0
 /**
  * Регистрация нового пользователя
  */
 public function postUserCreate(Requests\UserCreate $request)
 {
     try {
         $user = Sentinel::create(array('email' => $request->input('email'), 'password' => $request->input('password'), 'first_name' => $request->input('first_name'), 'last_name' => $request->input('last_name'), 'activated' => true));
         $user->city = $request->input('city');
         $user->company = $request->input('company');
         $user->phone = $request->input('phone');
         $user->save();
         $role = Sentinel::findRoleBySlug('user');
         $role->users()->attach($user);
     } catch (\Exception $e) {
         $this->SetErrorNotifyMessage('Ошибка выполнения операции.');
         return redirect()->back();
     }
     // Добавляем оператора с таким же именем
     Operator::create(array('user_id' => $user->id, 'name' => $request->input('first_name') . ' ' . $request->input('last_name')));
     $this->SetSuccessNotifyMessage('Пользователь &laquo;<strong>' . $request->input('first_name') . ' ' . $request->input('last_name') . '</strong>&raquo; успешно добавлен');
     return redirect()->back();
 }
Exemplo n.º 8
0
 /**
  * {@inheritDoc}
  */
 public function slug($slug)
 {
     return Sentinel::findRoleBySlug($slug);
 }