auth :: attempt($ credentials)在laravel 5.1中的其他控制器中不起作用

时间:2016-01-08 09:53:59

标签: php laravel-5 laravel-routing

我有一个自定义需求,我试图连接Laravel与Django应用程序。目前,我没有使用laravel的默认登录post方法来建立用户会话,而不是我试图访问Auth :: attempt($ credentials);.通过这种方式,我可以在我的自定义登录控制器中建立用户会话,而在其他控制器中,会话未建立。

登录控制器:

 $credentials = array('email' => $userjson["email"],'password' => $password);
    Auth::attempt($credentials);
    if(Auth::guest())
     echo "guest";
    else
     return redirect()->intended('/dashboard');

结果:重定向到信息中心页面(表示已建立会话)

信息中心控制器

     if(Auth::check())
              echo "true";
            else
                echo "false";

结果: false(表示会话未建立)

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

使用此代码。我们需要确保在课程顶部导入Auth外观。有关更多帮助,请转到https://laravel.com/docs/5.2/authentication并准备好主题手动验证用户。感谢

namespace App\Http\Controllers;

use Auth;

class OtherController extends Controller
{
    /**
     * Handle an authentication attempt.
     *
     * @return Response
     */
    public function authenticate()
    {
        if (Auth::attempt(['email' => $email, 'password' => $password])) {
            // Authentication passed...
            return redirect()->intended('dashboard');
        }
    }
}