laravel实现简单登录和注销

登陆处理控制器

 1  public function loginForm( Request $request){
 2        $status= Auth::guard('admin')->attempt([
 3             'username'=>$request['username'],
 4             'password'=>$request['password']
 5         ]);
 6        if(!$status){
 7            return redirect('admin/login')->with('error','用户名或密码错误');
 8        }
 9        return redirect('admin/index');
10     }

当然登录处理控制器执行之前config/auth.php已经被添加一个guard

 

这样就实现了用户登录,但是现在首页还是任何人都能看到所以我们要继续努力让只有登录的人才可以看到

创建一个中间件

php artisan make:middleware AdminMiddleware

  在里面写上验证代码

<?php

namespace AppHttpMiddleware;

use Closure;
use Auth;

class AdminMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $status=Auth::guard('admin')->check();
        if(! $status){
            return redirect('/admin/login');
        }
        return $next($request);
    }
}

把中间件挂载上,

再在控制器中写上构造函数用上中间件

public function __construct()
    {
        $this->middleware('admin.auth')->except(['login','loginForm']);
    }

 登录就大功告成。

注销的话很简单

 public function logout(){
        Auth::guard('admin')->logout();
        return redirect('admin/login');
    }
原文地址:https://www.cnblogs.com/F4natasy/p/11174110.html