上一篇咱们看了一眼laravel自带的登录认证,可谓是简洁的不能在简洁了,在实际的项目中肯定是需要二次改造的。
那怎么改造那,继续向下看吧
咱们下面所有的操作都以后台的登录为准。
一、路由
1.在routes下面新建一个admin.php文件
2.需要把此文件添加到路由的provider中,不然的话是识别不了的
3.添加自定义的路由
<?php
use \Illuminate\Support\Facades\Route;
Route::group(['namespace'=>'Admin','prefix'=>'admin'],function (){
//登录、注销
Route::get('login','LoginController@showLoginForm')->name('admin.loginForm');
Route::post('login','LoginController@login')->name('admin.login');
Route::get('logout','LoginController@logout')->name('admin.logout');
});
二、控制器
在Admin目录下新建一个LoginController.php文件,用于重写登录的逻辑
自定义路径
1.登录的页面
/**
* 重写登录的页面方法,主要是为了重写登录的页面
*/
public function showLoginForm()
{
return view('admin.login_register.login');
}
2.登录成功以后的跳转
/**
* 如果重定向路径需要自定义生成逻辑,你可以定义 redirectTo 方法来代替 redirectTo 属性:
* 主要是为了冲定义登录成功以后页面的跳转
* @return string
*/
protected function redirectTo()
{
return route('admin.layout');
}
3.登出以后的跳转
/**
* 重写登出的操作,主要是为了最后的路由跳转
* @param Request $request
*/
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect(route('admin.login'));
}
自定义用户名
确保用于登录的用户表里面有username字段,否则登录会报错的
/**
* 用于登录的字段(默认使用的是email的登录)
* @return string
*/
public function username()
{
return 'username';
}
自定义看守器
/**
* 自定义看守器
* @return mixed
*/
protected function guard()
{
return Auth::guard();
}
自定义验证
根据自己去求更改
三、自定义页面
四、预览
啦啦啦~ 一个简单的后台登录就重写完了,是不是很简单,看着简单,但还是希望大家静下心来,手动的敲一遍,加深一下印象,不然很容易忘记的。