суббота, 9 сентября 2017 г.

Laravel. Блог. Аутентификация для админа. Продолжение

Изменим процедура аутентификации для админа на странице


Переместим User.php файл из папки app в папку \app\Model\user
В фале User.php изменим namespace.
Напишем:
namespace App\Model\user;

Создадим новый guard, providers и систему паролей для админа. Откроем \blog.my\config\auth.php
<?php

return [


'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],



'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],

'admin' => [
'driver' => 'session',
'provider' => 'admins',
],



'api' => [
'driver' => 'token',
'provider' => 'users',
],
],



'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Model\user\User::class,
],

'admins' => [
'driver' => 'eloquent',
'model' => App\Model\admin\admin::class,
],


// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],



'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],

'admins' => [
'provider' => 'admins',
'table' => 'password_resets',
'expire' => 60,
],

],

];


\app\Model\admin\admin.php
<?php

namespace App\Model\admin;

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


class admin extends Authenticatable
{
use Notifiable;
}


Откроем \app\Http\Controllers\Admin\Auth\LoginController.php
Изменим:
<?php

namespace App\Http\Controllers\Admin\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 = 'admin/home';

public function showLoginForm() {
return view('admin.login');
}

public function login(Request $request)
{
$this->validateLogin($request);


if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}


return $this->sendFailedLoginResponse($request);
}

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

protected function guard() {
return Auth::guard('admin');
}

}


Также нужно создать админа в БД.

После входа, как админ нас перенаправит на страницу http://blog.my/admin/home

Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html