Auth :: попытка всегда вернуть false - PullRequest
0 голосов
/ 15 января 2020

У меня проблема с laravel 6.x аутентификацией. Auth :: try () всегда возвращает false. пожалуйста, помогите мне. Спасибо всем!

мой пользователь. php

<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use App\Models\Comment;
use App\Models\Post;
use App\Models\Role;

class User extends Authenticatable
{
    use Notifiable;
    use SoftDeletes;
    protected $table = "users";
    protected $dates = ['deleted_at'];

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password', 'role_id', 'admin'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    public function comments()
    {
        return $this->hasMany(Comment::class, 'user_id', 'id');
    }

    public function posts()
    {
        return $this->hasMany(Post::class, 'user_id', 'id');
    }

    public function role()
    {
        return $this->belongsTo(Role::class, 'role_id', 'id');
    }

}

мой UserController. php

public function loginAdmin(Request $request)
    {
        if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
            return redirect('admin');
        } else {
            return redirect('admin/login')->with('notify', 'Đăng nhập không thành công !');
        }
    }

моя форма логин

<form class="login-form" action="admin/login" method="POST">
                @csrf
                <div class="form-group">
                    <div class="form-label-group">
                        <input type="email" id="inputEmail" name="email" class="form-control"
                               placeholder="Email address"
                               required="required" autofocus="autofocus">
                        <label for="inputEmail">Email address</label>
                    </div>
                </div>
                <div class="form-group">
                    <div class="form-label-group">
                        <input type="password" id="inputPassword" name="password" class="form-control"
                               placeholder="Password"
                               required="required">
                        <label for="inputPassword">Password</label>
                    </div>
                </div>
                <button type="submit" class="btn btn-primary btn-block">Login</button>
            </form>

Моя функция createUser. это функция, которую я использую для создания пользователя. я использую bcrypt после сохранения данных, но он все еще не работает. Я не знаю, где моя проблема. пожалуйста, помогите мне.

function createUser($attributes)
    {
        $data = $attributes->all();
        $data['password'] = bcrypt($attributes->passowrd);
        if (!isset($data['admin'])) {
            $data['admin'] = 0;
        }
        if ($data['admin'] == 0) {
            $data['role_id'] = null;
        }
        return $this->create($data);
    }

Вот и весь код об этом - моя проблема. пожалуйста, помогите мне . спасибо всем!

1 Ответ

1 голос
/ 15 января 2020

Опечатка приведена как `` `$ attribute-> password````

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