руководство по входу в Laravel - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь войти без использования php. Я надеюсь, что кто-нибудь может мне помочь. Ниже я прилагаю код. Заранее спасибо

public function shw(Request $request)
    {
        $email = $request->input('email');
        $password = $request->input('password');

        $checkLogin = DB::table('admin')->where(['email'=>$email,'password'=>$password])->get();
        if($checkLogin === true)
        {
            echo "Login Successfull";
            return redirect('/dashboard');
        }
        return "fail";
    }

    /**

Ответы [ 4 ]

0 голосов
/ 07 ноября 2018

если пароль не хеширован, просто измените эти строки

public function shw(Request $request)
{
    $email = $request->input('email');
    $password = $request->input('password');

    $checkLogin = DB::table('admin')->where(['email'=>$email,'password'=>$password])->first();
    if(!is_null($checkLogin))
    {
        echo "Login Successfull";
        return redirect('/dashboard');
    }
    return "fail";
}
0 голосов
/ 07 ноября 2018

Проблема в таблице admin . Администраторская таблица не создана:

php artisan make:auth

Таблица, отвечающая за пользователей: users table. Попробуйте это:

DB::table('users')->where(['email'=>$email,'password'=>$password])->get();
0 голосов
/ 07 ноября 2018

Используйте код, подобный этому:

$user = User::where('email',$request->email)->first();
    if ($user && $user->active && \Hash::check($request->password, $user->password)) {
// do something
}
0 голосов
/ 07 ноября 2018

Я действительно советую вам использовать функции аутентификации в Laravel. Этот уже построен с безопасностью, которая вам нужна. (Почему вы хотите использовать свой собственный?)

По умолчанию хеши паролей хранятся в базе данных, а не в виде простого текста. Вы должны использовать встроенный Auth фасад

Как это:

use Illuminate\Support\Facades\Auth;

// Get the currently authenticated user...
$user = Auth::user();

// Get the currently authenticated user's ID...
$id = Auth::id();

Когда $ user или $ id пусты, вы можете предположить, что пользователь не вошел в систему.

Вы можете проверить это с помощью этого примера

if (Auth::check()) {
    // The user is logged in...
}

Но я всегда предпочитаю использовать промежуточную аутентификацию на ваших маршрутах

Route::put('post/{id}', function ($id) {
    //
})->middleware('auth');

Может быть , это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...