Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 19.05.2018 17:25:48

Валидация и аунтификация

Не понимаю, как запустить метод auth из метода check, при успешной валидации?

Много статей и не одной толковой.

public function check(Request $request)
    {
       
        if($this->validate($request,[
            'password'=>'required|min:3',
            'email' => 'required|email',
        ])) {
            return $this->auth();
        }
       
    }
   
     public function auth(Request $request)
    {
       
         $credentials = $request->only('email', 'password');
       
        if (Auth::attempt($credentials))
        {
            echo 'Данные правильные';
        }
        else {
            echo 'Данные не правильные';
        }
    }

Сейчас, после успешной валидации, отображается пустая страница.

Не в сети

#2 19.05.2018 18:06:27

Re: Валидация и аунтификация

Немного переделал функцию, не знаю, как запустить auth

public function check(Request $request)
    {
       
         $validator = Validator::make($request->all(), [
            'password'=>'required|min:3',
            'email' => 'required|email',
        ]);
       
            if ($validator->fails())
            {
                return redirect()->back()->withErrors($validator->errors());
            }
           
            else {
                return $this->auth(Request $request);
            }
 
    }

Не в сети

#3 19.05.2018 18:08:04

Re: Валидация и аунтификация

Дошло return $this->auth($request);

Не в сети

#4 19.05.2018 18:27:00

Re: Валидация и аунтификация

А как авторизировать пользователя, после успешной проверки?

public function auth(Request $request)
    {
         $credentials = $request->only('email', 'password');
       
        if (Auth::attempt($credentials))
        {
            if (Auth::check()) {
               //что сюда писать?
            }
        }
        else {
             return redirect()->back();
        }
    }

Не в сети

#5 20.05.2018 08:40:53

Re: Валидация и аунтификация

Дима, ты уже как-то придерживайся единой терминологии. Попытался же ж написать "аутентификация" в заголовке - и это правильно, в этом контексте нет места для "авторизовать". Это аутентификация.

Auth:: attempt и есть попытка аутентификации. if check там не нужен!!! Эта ветка if будет выполняться только в случае успешной аутентификации. Делать что-то еще не надо.

Не получается — отлаживай.

Изменено artoodetoo (20.05.2018 08:57:49)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#6 03.09.2018 21:42:22

Re: Валидация и аунтификация

Делаю всё по доке.

Не понимаю, почему ругается на

Auth guard [user] is not defined.?

В контроллере регистрации прописал

use Illuminate\Support\Facades\Auth;
protected function guard()
    {
        return Auth::guard('user');
    }

в IDE нету перехода по ссылке guard

Изменено Dimak (03.09.2018 21:42:50)

Не в сети

#7 03.09.2018 21:43:18

Re: Валидация и аунтификация

Изменил в LoginController перенаправление на корень, всё равно переходит на home почему?

protected $redirectTo = '/';
   
    protected function redirectTo()
    {
        return '/';
    }

Не в сети

Подвал раздела