配置不同路由,laravel手动验证登陆

需求:配置一个模块Admincp,在app\Http目录下,这个目录作为后台应用

步骤一:在app/Http创建Admincp目录,在routes目录下创建admincp.php文件

步骤二:打开app/Providers/RouteServiceProvider.php文件,添加

protected $admincpNamespace = 'App\Http\Admincp';

重写map方法:

public function map()

{

    if(request()->server('SERVER_NAME')=='www.laravel55.com'){

        $this->mapAdmincpRoutes();

    }else{

        $this->mapWebRoutes();

        $this->mapApiRoutes();

    }

}

其中www.laravel55.com是你本地自己配置的域名。

其中mapAdmincpRoutes方法:

protected function mapAdmincpRoutes()

{

//        Route::prefix('api')这边是指整个路由的前缀

        Route::middleware('admincp')

            ->namespace($this->admincpNamespace)

            ->group(base_path('routes/admincp.php'));

    }

步骤三:打开app/Http/Kernel.php文件,在$middlewareGroups下复制一个web,并且修改成admincp,并增加一个中间件AdmincpAuth:

protected $middlewareGroups = [

    'web' => [

        \App\Http\Middleware\EncryptCookies::class,

        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

        \Illuminate\Session\Middleware\StartSession::class,

        // \Illuminate\Session\Middleware\AuthenticateSession::class,

        \Illuminate\View\Middleware\ShareErrorsFromSession::class,

        \App\Http\Middleware\VerifyCsrfToken::class,

        \Illuminate\Routing\Middleware\SubstituteBindings::class,

    ],

    'api' => [

        'throttle:60,1',

        'bindings',

    ],

    //这边是新增的

    'admincp' => [

        \App\Http\Middleware\EncryptCookies::class,

        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

        \Illuminate\Session\Middleware\StartSession::class,

        // \Illuminate\Session\Middleware\AuthenticateSession::class,

        \Illuminate\View\Middleware\ShareErrorsFromSession::class,

        \App\Http\Middleware\VerifyCsrfToken::class,

        \Illuminate\Routing\Middleware\SubstituteBindings::class,

        \App\Http\Middleware\AdmincpAuth::class,

    ],

];

步骤四:在app\Http\Middleware目录下新建一个AdmincpAuth.php文件;其中的内容:

namespace App\Http\Middleware;

use Closure;

class AdmincpAuth

{

    /**

* Handle an incoming request.

*

    * @param  \Illuminate\Http\Request  $request

    * @param  \Closure  $next

    * @return mixed

*/

    public function handle($request, Closure $next)

{

        return $next($request);

    }

}

步骤五:创建UserController.php控制器

//登录

//登陆

public function login(Request $request){

    if($request->isMethod('post')){

        $guard=Auth::guard('admincp');

        $credentials=$request->only('name','password');

        if (!$guard->validate($credentials)) {

            return '帐号或密码不正确';

        }

        $user = $guard->getLastAttempted();

        $guard->login($user,true);

        return redirect()->intended('/index');

    }

    return view('admincp.user.login');

}

//退出

public function logout(){

    $guard=Auth::guard('admincp');

    $guard->logout();

    return redirect(route('user.login'));

}

登陆成功之后打印出相应的信息:

dd(Auth::guard('admincp')->user());

步骤六:打开app/config/auth.php文件,guards配置admincp数组,在providers创建一个admincp_users数组:

'guards' => [

        'web' => [

            'driver' => 'session',

            'provider' => 'users',

        ],

        'api' => [

//            'driver' => 'token',

            'driver' => 'passport',

            'provider' => 'users',

        ],

        'admincp' => [

            'driver' => 'session',

            'provider' => 'admincp_users',

        ],

    ],

'providers' => [

    'users' => [

        'driver' => 'eloquent',

        'model' => App\User::class,

    ],

    'admincp_users' => [

        'driver' => 'eloquent',

        'model' => App\Models\Admincp\Users::class,

    ],

    // 'users' => [

//    'driver' => 'database',

//    'table' => 'users',

// ],

],

步骤七:最后创建一张admincp_users表,和users表一样复制一张。

步骤八:成功!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容

  • 先说几句废话,调和气氛。事情的起由来自客户需求频繁变更,伟大的师傅决定横刀立马的改革使用新的框架(created ...
    wsdadan阅读 3,046评论 0 12
  • 最近在和同学参与一个创业项目,用到了laravel,仔细研究了一下,发现laravel封装了很多开箱即用的方法,通...
    MakingChoice阅读 3,300评论 0 0
  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 7,835评论 2 12
  • 官方文档:jwt-auth注意:Laravel 5.5 已经不能再使用jwt-auth 0.5.* 等版本了,请使...
    VitaAin阅读 12,016评论 1 3
  • 首先,安装了mysql,在这里安装出了一些小问题 安装msi文件后,并没有出来配置设置流程 解决方法:切换用户到A...
    夏臻Rock阅读 117评论 0 0