当前位置: 首页 > 知识库问答 >
问题:

Laravel 5.2多身份验证未登录用户数据

封鸿雪
2023-03-14

我正在开发一个web应用程序与laravel 5.2多身份验证。

这是我的密码。

Auth.php

  'guards' => [
    'a' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'b' => [
        'driver' => 'session',
        'provider' => 'customers',
    ],
],



   'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    'customers' => [
        'driver' => 'eloquent',
        'model' => App\Customer::class,
    ],
],

IndexController.php

 public function doLogin(){
    $credentails = [
        'name'      =>Input::get('name'),
        'password'  =>Input::get('password')
    ];

    if(Auth::guard('a')->attempt($credentails)){
        return Redirect::to(route('sessionviewa'));
    }else{
        return "Login Error";
    }
}


public function logout(){
    Auth::guard('a')->logout();
    return "succeess";
}

public function SessionViewA(){
    dd(Auth::guard('a')->user());
}

public function SessionViewB(){
    dd(Auth::guard('b')->user());
}

路线。

 Route::post('dologin',['as'=>'dologin','uses'=>'IndexController@doLogin']); 

Route::get('sessiona',['as'=>'sessionviewa','uses'=>'IndexController@SessionViewA']); 
Route::get('sessionb',['as'=>'sessionviewb','uses'=>'IndexController@SessionViewB']); 

我可以成功登录,但无法登录用户数据?

现在它在我的浏览器中返回为null。

共有2个答案

易祯
2023-03-14

谢谢尼扎姆,很明显,但我只是浪费了几个小时:)。

我想指出,我的问题是,尽管我确实在登录发生的路由组中指定了中间件,但我试图访问来自不同组的身份验证用户,而该组没有——敲我的头,为什么它不起作用。这个故事的寓意当然是,在你需要访问警卫的每条路线上都有中间件。

万俟飞语
2023-03-14

我看到你正在使用Laravel 5.2,我以前也有这个问题。

我通过将我的路由放入route.php.中的网络中间件组来解决这个问题。这样,我就可以访问身份验证并获得我想要的用户。

Route::group(['middleware' => ['web']], function () {
    // Your route here
});

试试看,让我知道它是否有效。

 类似资料:
  • 该应用程序应该接受用户电子邮件和密码,并使用Firebase身份验证作为后端。我使用像素2作为模拟器。每次应用程序处理登录功能时,它都会崩溃。 下面是Java文件和gradle文件 Java文件:

  • 问题内容: 因此,我目前正在运行已安装ldapjs的node.js。 我的目标是拥有一个使用ldapjs的系统,以允许用户使用用户名和密码登录。 我已经阅读了一段时间的http://ldapjs.org文档,但是正在努力理解ldap的整个思想以及ldapjs的实现。 我目前在文档中有这个 这使我可以运行以下内容并成功绑定到服务器。 但是我真的不确定从这里走到哪里,即使这是正确的方法… 理想的设置是

  • 使用,https://github.com/firebase/FirebaseUI-Android/tree/master/codelabs/chat作为登录的参考,我在键入时似乎遇到了问题 我只能键入Auth的提供者,而不能键入,为什么会这样,它提示我键入社会提供者。

  • 我正在进行多重身份验证。我的前端有一个带有卡号和密码的登录表单。在auth.php中 在route.php中 在logincontroller中, 在loginModel.php中 当我尝试登录时,我收到此错误 EloquentUserProvider.php第110行中的错误异常:传递给Illumate\Auth\EloquentUserProvider的参数1::validateCreenti

  • 如何在iOS8中使用CloudKit实现Sign sign-on? 我知道你可以得到一个代表你的登录用户的字符串,这是你的应用程序唯一的,但是我如何在我的后端验证那个字符串呢? 我明白Apple ID/iCloud电子邮件地址是出于隐私原因而隐藏的。 我的后端是Azure中的ASP.NET Web API2,但如果更简单的话,我可以用另一种技术实现它。 我正在寻找相当于谷歌在Android上的单点

  • 当使用Firebase身份验证匿名帐户时,它偶尔会在系统中创建一个新的用户ID,有时它会使用相同的用户ID。我真的希望每次都能创建相同的用户ID,这样匿名用户仍然可以在应用程序中维护相同的进度/数据。这实际上是我开始使用Firebase的原因。即使在重新启动应用程序等之后,我如何始终维护一个匿名帐户来保持相同的用户ID? 我希望用户每次以访客身份玩游戏时都能获得相同的ID。我看到有些应用程序在卸载