Laravel 5.1 使用默认身份验证控制器和中间件尝试使用额外参数进行身份验证

Posted

技术标签:

【中文标题】Laravel 5.1 使用默认身份验证控制器和中间件尝试使用额外参数进行身份验证【英文标题】:Laravel 5.1 auth attempt with extra parameters using default auth controller and middleware 【发布时间】:2016-01-05 18:30:00 【问题描述】:

如何使用默认身份验证控制器和中间件使用额外参数覆盖 Laravel 5.1 身份验证尝试? 假设我有一个状态为=activeinactive 的额外字段。 那个尝试方法怎么写?

【问题讨论】:

【参考方案1】:

如documentation 中所述,您可以传递一个变量数组,它们的键是您要在数据库中验证值的列。

<?php 

namespace App\Http\Controllers;

use Auth;
use Illuminate\Routing\Controller;

class AuthController extends Controller 

    public function authenticate(Request $request)
    
        $attempt = Auth::attempt([
            'email' => $request->get('email'), 
            'password' => $request->get('password'), 
            'active' => $request->get('active')
        ]);

        if ($attempt) 
            return redirect()->intended('dashboard');
        
    


【讨论】:

请阅读要求提供授权表等的赏金详细信息。您不认为这个答案太简单了吗? @davejal 您的赏金规范在所问问题的上下文中没有任何意义。问题是关于身份验证登录。 @davejal 是的,为了提供更清晰的信息,因为它不是很清楚你想要什么。 我会要求编辑问题,但我添加的部分是授权。有一个表来为用户添加基于角色的权限。 我同意 Enijar。指定的赏金应作为一个完全独立的问题提出,不应添加到此现有问题中。

以上是关于Laravel 5.1 使用默认身份验证控制器和中间件尝试使用额外参数进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 laravel 5.1 和 jwt 使用 cookie 进行身份验证

使用 localhost 进行 facebook 身份验证 laravel 5.1 时的应用程序域

Laravel 5.1/AngularJS:在 Angular 视图中重置密码(如何验证 CSRF 令牌?)

在 Laravel 5.1 上的控制器构造函数之前运行中间件?

使用用户名的 Laravel 身份验证不区分大小写

Laravel 5 - 更改默认登录操作