Задать вопрос
dima9595
@dima9595
Junior PHP

Не работает авторизация Laravel 5?

Целый год из-за армии не писал код. Решил вернуться в коддинг и установил новый Laravel 5 (последняя версия). Написал простой код авторизации, а авторизация не проходит. В чём дело?

Контроллер:
namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller{
    use AuthenticatesUsers;
    protected $redirectTo = '/';

    public function __construct(){
        $this->middleware('guest')->except('logout');
    }

    public function getAuthLogin(){
        return view('Auth.getAuthLogin');
    }

    public function postAuthLogin(Request $request){
        $this->validate($request, [
            'login_users' => 'required',
            'password' => 'required',
        ]);

        if(Auth::attempt( ['login_users' => $request->login_users, 'password' => $request->password] )){
            return redirect()->route('home')->with('successMessages', 'Вы успешно авторизовались!');
        }else{
            return redirect()->back()->with('warningMessages', 'Логин и/или пароль не верны!');
        }
    }
}


Модель:
namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable{
    use Notifiable;
    protected $table = 'users';
    protected $primaryKey = 'id_users';

    protected $fillable = [
        'login_users', 'mail_users', 'password',
    ];

    protected $hidden = [
        'password', 'remember_token',
    ];
}


Routes:
Route::group(['middleware' => 'guest'], function(){
//    Route::get('/', ['as' => 'welcome', 'uses' => 'HomeController@getWelcome']);
    Route::group(['prefix' => 'auth'], function(){
        Route::get('login', ['as' => 'Auth.getLogin', 'uses' => 'Auth\LoginController@getAuthLogin']);
        Route::post('login', ['as' => 'Auth.postLogin', 'uses' => 'Auth\LoginController@postAuthLogin']);
    });
});


Заранее спасибо:)
  • Вопрос задан
  • 835 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@Novikofff
PHP Developer
Если ты пишешь стандартную аутентификацию, а не какую-то специфичную, почему бы не воспользоваться той, что есть из коробки?
Auth::routes();
или
Route::auth()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Если везде пусто в логах и не понятно я бы попробовал сделать Auth::attempt без пасса , посмотрел бы вообще сессия создаётся, если нет значить что-то с созданием сессии , если дефолтные настройки значить у вас сессия на файлах(кажется в папке storage они хранятся) и скорее всего что нет прав на директорию сессий , ещё может быть что пасс не преобразовался в хеш но это мне кажется врятли.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы