Exemplo n.º 1
3
 public function verify($username, $password)
 {
     $credentials = ['email' => $username, 'password' => $password];
     if ($user = Sentinel::authenticate($credentials)) {
         return $user->id;
     }
     return false;
 }
Exemplo n.º 2
2
 /**
  * Проверка авторизации пользователя
  */
 public function postSignin(Requests\UserLogin $request)
 {
     try {
         $credentials = array('email' => $request->input('email'), 'password' => $request->input('password'));
         Sentinel::authenticate($credentials, $request->input('remember'));
     } catch (\Exception $e) {
         //$this->SetErrorMessage('Ошибка авторизации. Проверьте правильность введенных данных.');
         return redirect()->action('UserController@getSignin')->withInput();
     }
     // Успешно авторизовались
     return redirect('/');
 }
Exemplo n.º 3
2
 public function login(LoginRequest $request)
 {
     // 验证账号
     $credentials = ['email' => $request->input('email'), 'password' => $request->input('password')];
     $remember = $request->has('remember') ? true : false;
     $user = Sentinel::authenticate($credentials, $remember);
     if (!$user) {
         // 账号或密码错误
         abort(401);
     }
     // 返回 OAuth2 的 access_token
     return $this->getToken($credentials);
 }
Exemplo n.º 4
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);
 }
Exemplo n.º 5
1
 /**
  * Processes logging in a user.
  *
  * @param LoginRequest $request
  *
  * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
  */
 public function authenticate(LoginRequest $request)
 {
     try {
         $input = $request->all();
         $remember = (bool) array_pull($input, 'remember', false);
         if ($auth = Sentinel::authenticate($input, $remember)) {
             $message = 'Successfully logged in.';
             return redirect()->intended(route('maintenance.dashboard.index'))->withSuccess($message);
         } else {
             if (Corp::auth($input['login'], $input['password'])) {
                 $user = Corp::user($input['login']);
                 $name = explode(',', $user->name);
                 $credentials = ['email' => $user->email, 'username' => $user->username, 'password' => $input['password'], 'first_name' => array_key_exists(1, $name) ? $name[1] : null, 'last_name' => array_key_exists(0, $name) ? $name[0] : null];
                 return $this->registerAndAuthenticateUser($credentials);
             }
         }
         $errors = 'Invalid login or password.';
     } catch (NotActivatedException $e) {
         $errors = 'Account is not activated!';
     } catch (ThrottlingException $e) {
         $delay = $e->getDelay();
         $errors = "Your account is blocked for {$delay} second(s).";
     }
     return redirect()->back()->withErrors($errors);
 }
 protected function login(SentinelLoginRequest $request)
 {
     $user = $request->only(["email", "password"]);
     try {
         if (Sentinel::authenticate($user)) {
             return redirect()->route("user.dashboard");
         }
     } catch (ThrottlingException $ex) {
         return "Sua próxima tentativa será após: " . $ex->getFree();
     }
     return redirect()->route("auth.getlogin")->withErrors(["email" => trans("auth.failed")]);
 }
Exemplo n.º 7
0
 public function postPassword(Request $request)
 {
     $this->validate($request, ['current_password' => 'required', 'new_password' => 'required|confirmed'], ['current_password.required' => '当前密码不能为空', 'new_password.required' => '新密码不能为空', 'new_password.confirmed' => '新密码和重复新密码必须一致']);
     // 验证当前密码
     $credentials = ['email' => Sentinel::getUser()->email, 'password' => $request->get('current_password')];
     $user = Sentinel::authenticate($credentials);
     if (!$user) {
         return redirect()->back()->withErrors(['current_password' => '当前密码错误']);
     }
     // 修改新密码
     Sentinel::update($user, ['password' => $request->get('new_password')]);
     return redirect()->back()->with('message', '修改成功');
 }
Exemplo n.º 8
0
 /**
  * Authenticate with Sentry.
  *
  * @param array $credentials
  * @param bool $remember
  *
  * @return array
  */
 public function authenticate($credentials, $remember = NULL)
 {
     $response = ['authenticated' => false, 'message' => ''];
     if (Sentinel::authenticate($credentials, $remember)) {
         $response['authenticated'] = true;
         /*
          * Credentials were valid, return authenticated response
          */
         return $response;
     } else {
         $response['message'] = 'Username or Password is incorrect.';
     }
     return $response;
 }
Exemplo n.º 9
0
 /**
  * Authenticate a user
  * @param  array $credentials
  * @param  bool  $remember    Remember the user
  * @return mixed
  */
 public function login(array $credentials, $remember = false)
 {
     try {
         if (Sentinel::authenticate($credentials, $remember)) {
             return false;
         }
         return 'Invalid login or password.';
     } catch (NotActivatedException $e) {
         return 'Account not yet validated. Please check your email.';
     } catch (ThrottlingException $e) {
         $delay = $e->getDelay();
         return "Your account is blocked for {$delay} second(s).";
     }
 }
Exemplo n.º 10
0
 /**
  * {@inheritDoc}
  */
 public function authenticate(array $data)
 {
     // Setup validation rules.
     $this->rules = ['email' => 'required|email', 'password' => 'required'];
     $remember = false;
     if (isset($data['remember'])) {
         $remember = $data['remember'];
     }
     // Run validation.
     $this->validate($data);
     if (!($user = Sentinel::authenticate($data, $remember))) {
         throw new AuthenticationException(trans('dashboard::dashboard.errors.auth.incorrect'));
     }
     return $user;
 }
Exemplo n.º 11
0
 public function postLogin(Request $request)
 {
     $this->validate($request, ['email' => 'required|email', 'password' => 'required']);
     try {
         $user = Sentinel::authenticate($request->only('email', 'password'));
         if ($user !== false) {
             return redirect()->intended('/');
         }
     } catch (ThrottlingException $e) {
         return $this->failLogin($request, $e->getMessage());
     } catch (NotActivatedException $e) {
         return $this->failLogin($request, $e->getMessage());
     }
     return $this->failLogin($request, 'These credentials do not match our records');
 }
Exemplo n.º 12
0
 public function doLogin(Requests\UserValidateRequest $request)
 {
     if ($user = Sentinel::check()) {
         return redirect('/');
     } else {
         $input = $request->all();
         $credentials = ['email' => $input['email'], 'password' => $input['password']];
         $user = Sentinel::authenticate($credentials);
         if (!$user) {
             return redirect('login')->withErrors('Your e-mail or your password is incorrect');
         } else {
             Sentinel::authenticate($credentials);
             return redirect('/');
         }
     }
 }
Exemplo n.º 13
0
 public function authenticate(Request $request, $locale)
 {
     Sentinel::enableCheckpoints();
     App::setLocale($locale);
     $credentials = ["email" => $request->get("username"), "password" => $request->get("password")];
     if (!is_null($request->get("remember"))) {
         $remember = $request->get("remember");
     } else {
         $remember = false;
     }
     $user = Sentinel::authenticate($credentials, $remember);
     if ($user === false) {
         Flash::error("Username or Password is incorrect");
         return back();
     } elseif (str_contains(URL::previous(), "auth/login")) {
         return redirect(action("HomeController@home"));
     } else {
         return back();
     }
 }
Exemplo n.º 14
0
 /**
  * Handle a login request to the application.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function postLogin(Request $request)
 {
     $this->validate($request, [$this->loginUsername() => 'required', 'password' => 'required']);
     // If the class is using the ThrottlesLogins trait, we can automatically throttle
     // the login attempts for this application. We'll key this by the username and
     // the IP address of the client making these requests into this application.
     $throttles = $this->isUsingThrottlesLoginsTrait();
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     $credentials = $this->getCredentials($request);
     if (Sentinel::authenticate($credentials, boolval($request->has('remember')))) {
         return $this->handleUserWasAuthenticated($request, $throttles);
     }
     // If the login attempt was unsuccessful we will increment the number of attempts
     // to login and redirect the user back to the login form. Of course, when this
     // user surpasses their maximum number of attempts they will get locked out.
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     return redirect($this->loginPath())->withInput($request->only($this->loginUsername(), 'remember'))->withErrors([$this->loginUsername() => $this->getFailedLoginMessage()]);
 }
Exemplo n.º 15
0
 public function doRegister()
 {
     if (!empty($request['email'] = Input::get('email')) && !empty($request['password'] = Input::get('password'))) {
         if (!Sentinel::findByCredentials($request)) {
             if (!filter_var($request['email'], FILTER_VALIDATE_EMAIL)) {
                 $response['status'] = 'warning';
                 $response['message'] = trans('user_notifications.invalid_email');
             } else {
                 if (mb_strlen(Input::get('password')) < 8) {
                     $response['status'] = 'warning';
                     $response['message'] = trans('user_notifications.password_length');
                 } else {
                     if (Sentinel::registerAndActivate($request)) {
                         $user = Sentinel::authenticate($request);
                         //If Authentication was successful
                         if (!empty($user)) {
                             Sentinel::loginAndRemember($user);
                         }
                         $data = ['sys_title' => $this->system['title'], 'sys_email' => $this->system['email'], 'user' => $user];
                         Mail::send('dressplace::emails.register', $data, function ($m) use($data) {
                             $m->from($data['sys_email'], $data['sys_title']);
                             $m->replyTo($data['sys_email'], $data['sys_title']);
                             $m->to($data['user']['email'], $data['user']['email'])->subject(trans('client.register_mail'));
                         });
                         $response['status'] = 'success';
                         $response['message'] = trans('user_notifications.user_created');
                     } else {
                         $response['status'] = 'error';
                         $response['message'] = trans('user_notifications.user_not_created');
                     }
                 }
             }
         } else {
             $response['status'] = 'error';
             $response['message'] = trans('user_notifications.user_exists');
         }
     } else {
         $response['status'] = 'warning';
         $response['message'] = trans('global.all_fields_required');
     }
     echo json_encode($response);
 }
Exemplo n.º 16
0
 /**
  * Authenticate user credentials
  *
  * @param array $credentials
  * @return object|\Exception
  */
 public function login(array $credentials)
 {
     $remember = (bool) $credentials['remember'];
     return Sentinel::authenticate($credentials, $remember);
 }
Exemplo n.º 17
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());
 }