/** * Run the database seeds. * * @return void */ public function run() { $roles = [['name' => 'Trainer', 'slug' => 'customer_trainer', 'permissions' => ['customer_trainer' => true]], ['name' => 'Trainee', 'slug' => 'customer_trainee', 'permissions' => ['customer_trainee' => true]], ['name' => 'Administrator', 'slug' => 'admin', 'permissions' => ['admin' => true]]]; // populate all roles foreach ($roles as $role) { // populate all roles foreach ($roles as $role) { try { Sentinel::getRoleRepository()->createModel()->fill($role)->save(); } catch (\Exception $e) { // Ignore, role already created } } } }
/** * 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(); }
/** * {@inheritDoc} */ public function create(array $data) { // Setup validation rules. $this->rules = ['slug' => 'required|alpha_dash|unique:roles', 'name' => 'required|alpha_dash|unique:roles']; // Run validation. $this->validate($data); // Convert the checkbox values of "1" to true, so permission checking works with Sentinel. if (isset($data['permissions'])) { foreach ($data['permissions'] as $permission => $value) { $data['permissions'][$permission] = true; } } try { $role = Sentinel::getRoleRepository()->createModel()->create($data); } catch (QueryException $e) { throw new RolesException(trans('dashboard::dashboard.errors.role.create')); } return $role; }
/** * 新增角色 - 业务逻辑 * * @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); }
/** * Run the database seeds. * * @return void */ public function run() { // create roles $adminGroup = Sentinel::getRoleRepository()->createModel()->create(['name' => 'Admin', 'slug' => 'admin']); $adminGroup->addPermission('posts.create')->addPermission('posts.own.edit')->addPermission('posts.own.destroy')->addPermission('posts.others.edit')->addPermission('posts.others.destroy')->addPermission('threads.create')->addPermission('threads.own.destroy')->addPermission('threads.others.destroy')->save(); $moderatorGroup = Sentinel::getRoleRepository()->createModel()->create(['name' => 'Moderator', 'slug' => 'moderator']); $moderatorGroup->addPermission('posts.create')->addPermission('posts.own.edit')->addPermission('posts.own.destroy')->addPermission('posts.others.edit')->addPermission('posts.others.destroy')->addPermission('threads.create')->addPermission('threads.own.destroy')->addPermission('threads.others.destroy')->save(); $userGroup = Sentinel::getRoleRepository()->createModel()->create(['name' => 'User', 'slug' => 'user']); $userGroup->addPermission('posts.create')->addPermission('posts.own.edit')->addPermission('posts.own.destroy')->addPermission('threads.create')->addPermission('threads.own.destroy')->save(); // create users $kehet = Sentinel::create(['email' => '*****@*****.**', 'password' => 'M4h3vAkAynHcHKG2MQ2ceEDjQ', 'first_name' => 'Kehet']); $adminGroup->users()->attach($kehet); $this->activate($kehet); $faker = Faker\Factory::create('fi_FI'); foreach (range(0, 5) as $i) { $user = Sentinel::create(['email' => $faker->email, 'password' => str_random(10), 'last_name' => $faker->lastName, 'first_name' => $faker->firstName]); if ($i < 2) { $moderatorGroup->users()->attach($user); } else { $userGroup->users()->attach($user); } } }
public function __construct() { $this->user = Sentinel::getUserRepository()->createModel(); $this->role = Sentinel::getRoleRepository()->createModel(); }
public function __construct() { $this->beforeFilter('auth'); $this->users = Sentinel::getRoleRepository(); $this->user = Sentinel::getUser(); }
/** * Update the specified resource in storage. * * @param int $id * @param UserRequest $request * @return Response */ public function update($id, UserRequest $request) { $user = Sentinel::findById($id); $credentials = $request->only(['first_name', 'last_name', 'email']); if ($request->has('password')) { $credentials['password'] = $request->get('password'); } $valid = Sentinel::getUserRepository()->validForUpdate($user, $credentials); if ($valid === false) { echo 'error'; return false; } Sentinel::getUserRepository()->update($user, $credentials); if ($request->get('active') != Activation::completed($user)) { if ($request->get('active')) { $activation = Activation::create($user); Activation::complete($user, $activation->code); } else { Activation::remove($user); } } $roles = Sentinel::getRoleRepository()->all(); $wantedRoles = $request->get('role'); foreach ($roles as $role) { if (in_array($role->id, $wantedRoles) && !$user->inRole($role)) { $role->users()->attach($user); } elseif (!in_array($role->id, $wantedRoles) && $user->inRole($role)) { $role->users()->detach($user); } } return redirect()->route('admin.users.show', [$user->id]); }
/** * Constructor. * * @return void */ public function __construct() { parent::__construct(); $this->roles = Sentinel::getRoleRepository(); }
public function project_auto_default() { /** * 生成默认管理员账户 */ //默认管理员信息 $email = '*****@*****.**'; $credentials = ['email' => $email, 'password' => $email, 'first_name' => 'Zicnh', 'last_name' => 'Chegg']; //TODO::根据邮箱,查找用户信息 $credentials0 = ["email" => $email]; //判断默认管理员是否存在 $is_exist = Sentinel::findByCredentials($credentials0); if ($is_exist) { return; } //注册并激活默认管理员账户 $user = Sentinel::register($credentials, true); /** * 生成默认角色 */ //默认角色信息 $role = Sentinel::getRoleRepository()->createModel()->create(['name' => '全权管理员', 'slug' => 'zinch']); //当前项目所有权限 $permissions = $this->get_permission(); foreach ($permissions as $permission) { $permissions_array[$permission['name']] = true; } $role->permissions = $permissions_array; //$user->permissions属性值,需一次性赋值;否则会报错。 $role->save(); //给默认账户分配默认角色 $role->users()->attach($user); }
/** * Run the database seeds. * * @return void */ public function run() { $AdminRole = Sentinel::getRoleRepository()->createModel()->create(['name' => 'Admin', 'slug' => 'admin']); $AdminRole->save(); $UserRole = Sentinel::getRoleRepository()->createModel()->create(['name' => 'User', 'slug' => 'user']); }
/** * Create or update a group through Sentry. * * If the permissions array is empty it will leave the current permissions intact. * * @param string $name The name for the group to find or create * @param array $permissions The permissions to assign the group. * * @return \Stevebauman\Maintenance\Models\Role */ public function createOrUpdateRole($name, $permissions = []) { $role = Sentinel::findRoleByName($name); if ($role) { if (!empty($permissions)) { $role->permissions = $permissions; $role->save(); } } else { $role = Sentinel::getRoleRepository()->createModel()->create(['name' => $name, 'slug' => $name, 'permissions' => $permissions]); } return $role; }