zoukankan      html  css  js  c++  java
  • 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');
        }
  • 相关阅读:
    css: 组合选择器
    css: 基础选择器
    javascript设计模式:工厂模式
    wx: 小程序公共机制
    vue: 脚手架创建项目
    nodejs: express sequelize-cli
    css:flex和float margin布局
    自定义标签之inclusion_tag
    Django模型之Meta选项详解
    Django内置Admin
  • 原文地址:https://www.cnblogs.com/F4natasy/p/11174110.html
Copyright © 2011-2022 走看看