Exemplo n.º 1
2
 public function postRegister(Request $request)
 {
     $validator = $this->validator($request->all());
     if ($validator->fails()) {
         $this->throwValidationException($request, $validator);
     }
     Sentinel::login($this->create($request->all()));
     return redirect($this->redirectPath());
 }
Exemplo n.º 2
1
 public function loginRequest()
 {
     $response['status'] = 'error';
     $response['title'] = trans('users.check_login_details');
     $response['message'] = trans('users.auth_not_successful');
     if (!empty($_POST) && !empty(Input::get('email')) && !empty(Input::get('password'))) {
         $is_admin = Model_Users::getUserGroup(FALSE, Input::get('email'));
         if ($is_admin == 1) {
             //User data and Authentication
             $credentials = ['email' => Input::get('email'), 'password' => Input::get('password')];
             $user = Sentinel::authenticate($credentials);
             //If Authentication was successful
             if (!empty($user)) {
                 //Login and remember
                 if (!empty(Input::get('remember'))) {
                     Sentinel::loginAndRemember($user);
                 } else {
                     //Login without remember
                     Sentinel::login($user);
                 }
                 $response['status'] = 'success';
                 $response['title'] = trans('global.redirecting') . '...';
                 $response['message'] = trans('users.auth_successful');
             }
         } else {
             $response['title'] = trans('user_notifications.access_denied');
             $response['message'] = trans('user_notifications.no_admin_permission');
         }
     }
     echo json_encode($response);
 }
 protected function create(SentinelPostRequest $request)
 {
     $user = $request->only(["first_name", "last_name", "email", "password", "password_confirmation"]);
     // Registre, ative e faça login do usuário local
     $eloquent_user = Sentinel::registerAndActivate($user);
     Sentinel::login($eloquent_user);
     // Mande um e-mail
     Event::fire(new PostUserRegister($eloquent_user));
     return redirect()->route("user.dashboard");
 }
Exemplo n.º 4
0
 /**
  * Registers and authenticates a user by the specified credentials.
  *
  * @param array $credentials
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 private function registerAndAuthenticateUser(array $credentials)
 {
     $model = Sentinel::createModel();
     // See if the LDAP user already has an account first
     $user = $model->where('email', $credentials['email'])->first();
     if ($user) {
         // Update the user
         Sentinel::update($user, $credentials);
         // Log them in
         Sentinel::login($user);
         $message = 'Successfully logged in.';
         return redirect()->intended('/')->withSuccess($message);
     } else {
         $user = Sentinel::registerAndActivate($credentials);
         if ($user) {
             $user->username = $credentials['username'];
             $user->save();
             Sentinel::login($user);
             $message = 'Successfully logged in.';
             return redirect()->intended('/')->withSuccess($message);
         }
     }
     $message = 'There was an issue creating your active directory account. Please try again.';
     return redirect()->route('maintenance.login.index')->withErrors($message);
 }
Exemplo n.º 5
0
 /**
  * {@inheritDoc}
  */
 public function login($user)
 {
     return Sentinel::login($user);
 }
Exemplo n.º 6
0
 public function doLogin()
 {
     $response['status'] = 'error';
     $response['title'] = trans('users.check_login_details');
     $response['message'] = trans('users.auth_not_successful');
     if (!empty($_POST) && !empty(Input::get('email')) && !empty(Input::get('password'))) {
         //User data and Authentication
         $credentials = ['email' => Input::get('email'), 'password' => Input::get('password')];
         $user = Sentinel::authenticate($credentials);
         //If Authentication was successful
         if (!empty($user)) {
             //Login and remember
             if (!empty(Input::get('remember'))) {
                 Sentinel::loginAndRemember($user);
             } else {
                 //Login without remember
                 Sentinel::login($user);
             }
             $response['status'] = 'success';
             $response['title'] = trans('global.redirecting') . '...';
             $response['message'] = trans('users.auth_successful');
         }
     }
     echo json_encode($response);
 }
Exemplo n.º 7
0
 protected function resetPassword($user, $password)
 {
     $user = Sentinel::findById($user->id);
     $user = Sentinel::update($user, ['password' => $password]);
     Sentinel::login($user);
 }
 /**
  * 实现登陆的业务逻辑
  *
  * @param $data 用户登陆信息
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function login_logic($data)
 {
     //邮箱是否为空
     if (!isset($data['email']) || $data['email'] == null) {
         //            dump('邮箱不能为空');
         return redirect()->route('account_login_get');
     }
     //根据邮箱,查找用户信息
     $credentials0 = ["email" => $data['email']];
     $user_info = Sentinel::findByCredentials($credentials0);
     //邮箱是否存在
     if (!$user_info) {
         //            dump('邮箱不存在');
         return redirect()->route('account_login_get');
     }
     //邮箱是否激活
     $activation_completed_return = Activation::completed($user_info);
     if (!$activation_completed_return) {
         //            dump('账号还未激活,请联系管理员进行激活');
         return redirect()->route('account_login_get');
     }
     //密码是否为空
     if (!isset($data['password']) || $data['password'] == null) {
         //            dump('密码不能为空');
         return redirect()->route('account_login_get');
     }
     //用户登陆信息
     $credentials = ['email' => $data['email'], 'password' => $data['password']];
     //验证密码
     $validateCredentials = Sentinel::validateCredentials($user_info, $credentials);
     if (!$validateCredentials) {
         //            dump('账号与密码不匹配');
         return redirect()->route('account_login_get');
     }
     //登陆
     $remeber_me = isset($data['remeber_me']);
     //dump($remeber_me);
     $login_return = Sentinel::login($user_info, $remeber_me);
     if ($login_return) {
         //dump('登陆成功');
         return redirect()->route('data_index');
     } else {
         //            dump('登陆失败,请重新登陆');
         return redirect()->route('account_login_get');
     }
 }
Exemplo n.º 9
0
 /**
  * Set the current user.
  *
  * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
  * @return void
  */
 public function setUser(Authenticatable $user)
 {
     Sentinel::login($user);
 }
Exemplo n.º 10
0
 public function postBind(BindAccountRequest $request)
 {
     if (!Session::has(self::OAUTH_USER)) {
         return redirect($this->loginPath());
     }
     $oauthInfo = Session::get(self::OAUTH_USER);
     $provider = $oauthInfo['provider'];
     $oauthUser = $oauthInfo['user'];
     // 已经绑定了账号,直接登录
     $uid = OAuthAccount::where('oauth_id', $oauthUser->getId())->where('oauth_type', $provider)->pluck('uid');
     if ($uid && ($user = Sentinel::findById($uid))) {
         Sentinel::login($user);
         return redirect($this->redirectPath());
     }
     // 验证账号
     $credentials = ['email' => $request->input('email'), 'password' => $request->input('password')];
     $user = Sentinel::authenticate($credentials, false);
     if (!$user) {
         return redirect()->back()->withInput($request->except(array('password')))->withErrors(array('账号或密码错误'));
     }
     // 绑定账号
     $oAuthAccount = new OAuthAccount();
     $oAuthAccount->uid = $user->id;
     $oAuthAccount->oauth_id = $oauthUser->getId();
     $oAuthAccount->oauth_type = $provider;
     $oAuthAccount->created_at = time();
     $oAuthAccount->save();
     Session::forget(self::OAUTH_USER);
     return redirect($this->redirectPath());
 }