- 直接修改模型名称从User ->AdminUser
class AdminUser extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
2.通过创建alter_users_table修改数据库中的表名
class AlterTableUsers extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
Schema::rename('users','admin_users');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
3.执行 php artisan migrate 操作更新数据库
4.修改config中的auth.php文件
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\AdminUser::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
5.创建AuthController.php 完成显示登录界面,登录,登出操作
class AuthController extends Controller
{
//登录界面
public function login()
{
return view('login');
}
//登录操作
public function doLogin()
{
$this->validate(request(),[
'email'=>'required|email',
'password'=>'required',
],[
'email.required'=>'邮箱必填',
'email.email'=>'输入的邮箱格式错误',
'password.required'=>'密码必填',
]);
$user = request(['email','password']);
$is_remember = boolval(request('is_remember'));
if (Auth::attempt($user,$is_remember))
{
//登录成功
return redirect('/');
}
return redirect()->back()->withErrors('邮箱或密码输入错误');
}
//退出登录
public function logout()
{
Auth::logout();
return redirect('/login');
}
}
6.对于出现的各种验证错误,要做模板中进行展示
@if(count($errors) > 0)
<div class="alert alert-danger" role="alert">
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</div>
@endif
7.在web.php 文件中添加路由
//需要登录才可以进入的界面
Route::group(['middleware'=>['auth']],function(){
//首页
Route::get('/', function () {
return view('welcome');
});
//登出操作
Route::get('/logout','\App\Http\Controllers\AuthController@logout');
});
//登录界面
Route::get('/login','\App\Http\Controllers\AuthController@login');
//登录操作
Route::post('/doLogin','\App\Http\Controllers\AuthController@doLogin');
8.如果强行使用网址访问需要登录才能进入的界面可以通过修改Exceptions文件夹下的Handler.php文件中的方法进行重定向到登录界面
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
//不登录强行访问 重定向到登录界面
return redirect('/login');
}