Exemplo n.º 1
0
 /**
  * Registers a user through Sentry.
  *
  * @param array $data
  * @param array $roles
  *
  * @return mixed
  */
 public function registerUser(array $data, array $roles = [])
 {
     $insert = ['first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'email' => $data['email'], 'username' => $data['username'], 'password' => $data['password']];
     $user = Sentinel::register($insert);
     $this->addRolesToUser($user, $roles);
     return $user;
 }
Exemplo n.º 2
0
 /**
  * {@inheritDoc}
  */
 public function register(array $data)
 {
     // Setup validation rules.
     $this->rules = ['email' => 'required|email|unique:users', 'password' => 'required|confirmed', 'password_confirmation' => 'required'];
     // Run validation.
     $this->validate($data);
     if (!config('laraflock.dashboard.activations')) {
         $this->registerAndActivate($data, false);
         return true;
     }
     try {
         $user = Sentinel::register($data);
     } catch (QueryException $e) {
         throw new AuthenticationException(trans('dashboard::dashboard.errors.auth.create'));
     }
     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);
     if (!($activation = Activation::create($user))) {
         throw new AuthenticationException(trans('dashboard::dashboard.errors.auth.activation.create'));
     }
     return $activation;
 }
Exemplo n.º 3
0
 public function postRegister(Request $request)
 {
     $this->validate($request, ['email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6', 'first_name' => 'required|max:255', 'last_name' => 'max:255']);
     $user = Sentinel::register($request->all());
     $activation = Activation::create($user);
     Mail::send(['text' => 'emails.confirm'], compact('user', 'activation'), function ($message) use($user) {
         $message->from('*****@*****.**', 'Kehet')->to($user->email, $user->first_name . ' ' . $user->last_name)->subject('Please confirm your account');
     });
     return redirect()->route('auth.register.confirm', ['email' => $user->email]);
 }
Exemplo n.º 4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param UserRequest $request
  * @return Response
  */
 public function store(UserRequest $request)
 {
     $user = Sentinel::register($request->only(['first_name', 'last_name', 'email', 'password']), $request->has('active'));
     if (count($request->get('role')) > 0) {
         foreach ($request->get('role') as $role) {
             Sentinel::findRoleById($role)->users()->attach($user);
         }
     }
     return redirect()->route('admin.users.show', [$user->id]);
 }
Exemplo n.º 5
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $this->validate($request, $this->rules, $this->messages);
     $activate = false;
     $user = [];
     $user["email"] = $request->get("email");
     $user["first_name"] = $request->get("frist_name");
     $user["last_name"] = $request->get("last_name");
     $user["password"] = $request->get("password");
     if ($request->get("activate") === "1") {
         $activate = true;
     }
     $user = Sentinel::register($user, $activate);
     Toastr::success("A user with the email " . $user->email . " has been created");
     return redirect(action("Admin\\UsersController@index"));
 }
Exemplo n.º 6
0
 public function postRegister(Request $request)
 {
     $this->validate($request, ['email' => 'required|email']);
     $email = $request->input('email');
     $user = Sentinel::findByCredentials(['email' => $email]);
     if (!$user) {
         // 注册用户,但是先不激活
         $credentials = ['email' => $email, 'password' => md5(time())];
         $user = Sentinel::register($credentials, false);
     }
     if (Activation::completed($user)) {
         return redirect('auth/register')->withErrors(array('该邮箱已经被注册激活'));
     }
     // 生成激活码
     $activation = Activation::create($user);
     // 发邮件
     $vars = ['email' => $email, 'code' => $activation->code];
     Mail::queue('emails.register', $vars, function ($message) use($email) {
         $message->to($email, $email)->subject('感谢您的注册');
     });
     return redirect('auth/registered');
 }
 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);
 }