Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel中进行身份验证时,如何检查用户表中的参数?_Php_Laravel_Laravel 5.3 - Fatal编程技术网

Php 在Laravel中进行身份验证时,如何检查用户表中的参数?

Php 在Laravel中进行身份验证时,如何检查用户表中的参数?,php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,我正在尝试制作一个使用 Laravel的授权包。我使用的是Laravel 5.3.2 我在用户表中创建了一个名为role的字段 现在我想知道如何在身份验证过程中检查用户角色,然后根据角色重定向到所需的视图。 请帮我弄清楚这是怎么可能的 非常感谢您。当用户登录时,这是通过位于app\Http\Controllers\Auth的LoginController.php完成的 此控制器使用名为AuthenticatesUsers的特性 此特性有一个名为authenticated()的方法,默认情况下该方

我正在尝试制作一个使用 Laravel的授权包。我使用的是Laravel 5.3.2

我在用户表中创建了一个名为
role
的字段

现在我想知道如何在身份验证过程中检查用户角色,然后根据角色重定向到所需的视图。 请帮我弄清楚这是怎么可能的


非常感谢您。

当用户登录时,这是通过位于
app\Http\Controllers\Auth的
LoginController.php
完成的

此控制器使用名为
AuthenticatesUsers
的特性

此特性有一个名为
authenticated()
的方法,默认情况下该方法为空。如果trait不为空,则调用此方法-在完成所有必要的登录之后

您可以在
AuthenticationController.php
中重写此方法,并添加所需的功能。例如:

// You actually get an Auth\User object passed to you by the trait!
public function authenticated(Request $request, $user)
{
    if($user->role == 'admin') {
        // You could do anything here
        return redirect()->route('admin-dashboard');
    } else {
        return redirect()->route('home');
    }
}

当用户登录时,可以通过位于
app\Http\Controllers\Auth

此控制器使用名为
AuthenticatesUsers
的特性

此特性有一个名为
authenticated()
的方法,默认情况下该方法为空。如果trait不为空,则调用此方法-在完成所有必要的登录之后

您可以在
AuthenticationController.php
中重写此方法,并添加所需的功能。例如:

// You actually get an Auth\User object passed to you by the trait!
public function authenticated(Request $request, $user)
{
    if($user->role == 'admin') {
        // You could do anything here
        return redirect()->route('admin-dashboard');
    } else {
        return redirect()->route('home');
    }
}

旁边解决方案覆盖一些默认的Laravel方法。我建议一种其他方法:根据用户的角色将用户重定向到一条路线,该路线对重定向用户负责 AuthController中的

protected $redirectTo = '/redirect';
路线中的

Route::get('redirect', function(){
    switch(auth()->user()->role){
        case 1:
            return redirect()->to();
        break;
        case 2:
            return redirect()->to();
        break;
    }
})

旁边解决方案
覆盖
一些默认的Laravel方法。我建议一种其他方法:根据用户的角色将用户重定向到一条路线,该路线对重定向用户负责 AuthController中的

protected $redirectTo = '/redirect';
路线中的

Route::get('redirect', function(){
    switch(auth()->user()->role){
        case 1:
            return redirect()->to();
        break;
        case 2:
            return redirect()->to();
        break;
    }
})

请检查此答案Laravel authenticates在5.3中已做了很多更改,因此答案不适用于5.3 Laravel:)不再有
postLogin()
方法,而是
authenticated()方法
在用户成功登录后激发的方法Indly check this answer Laravel authenticates在5.3中做了很多更改,因此答案不适用于5.3 Laravel:)不再有
postLogin()
方法,而是
authenticated()
在用户成功登录后激发的方法两位绅士的评论都非常有用,我从他们的想法中学到了很多。我还发现了一个有用的链接:两位绅士的评论都非常有用,我从他们的想法中学到了很多。我还发现了一个有用的链接: