Laravel框架登录功能实例

功能:用于实现登录功能
框架:laravel 5.8

一、添加路由器

Route::group( [ 'middleware'=>[] , 'prefix'=>'admin' , 'namespace'=>'Admin' , 'as'=>'admin.' ] , function(){

    /********************login********************/
    Route::get('login','LoginController@index')->name( 'login' );//登录界面
    /********************登录后的组************************/
    Route::group( [ 'middleware'=>[ 'admin.auth' ] ] , function(){

        Route::get('/','IndexController@index');//后台首页

    });

});

二、制作验证类

<?php

namespace App\Http\Middleware;

use Closure;

class AdminAuth
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle( $request , Closure $next )
    {
        if( !auth( 'admin' )->check() ){
            return redirect()->route( 'admin.login' );
        }

        return $next( $request );
    }

}

注:放入app\http\middleware文件目录中

三、添加验证类到app\http\kernel.php文件中
头部加上use引入
use App\Http\Middleware\AdminAuth;

在函数中加入

protected $routeMiddleware = [
    'admin.auth'=> AdminAuth::class,
];

四、config\auth.php文件中加上配置

'guards' => [

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

],


'providers' => [

    'admins' => [
        'driver' => 'eloquent',
        'model' => \App\Models\Admin::class,
    ]
],

五、建立admin模型

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;

class Admin extends Authenticatable
{

}

表和模型同名 ,必须有三个字段 username password remember_token

六、login控制器中的登录验证方法


if(auth( 'admin' )->attempt( [ 'username'=>$request->username , 'password'=>$request->password ] , $request->remember ) ){
    return $this->success(  '登录成功' );
}

return $this->fail(  '账号或密码不正确' );

七、返回函数

public function success($info,$data = [])
{
    $return = [
        'data'=>$data,
        'status' => 'y',
    ];
    if($info){
        $return['info'] = $info;
    }
    return response()->json($return);
}

public function fail($info)
{
    $return = [
        'info' => $info,
        'status' => 'n',
    ];
    return response()->json($return);
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任聪聪

创作不易,你的打赏是我的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值