Laravel 5.1认证在刷新后退出登录

3

我第一次使用Laravel,但是当我跳转到另一个路由或者刷新页面之后,我的认证用户会自动退出登录,我不明白为什么,请帮帮我。

这是我的登录代码:

public function ini_ses(Request $datos)
{
    //Inicia sesion
    Session::put('ses_correo', Input::get('email'));

    $correo = $datos->input('email');
    $password= $datos->input('password');

    if(Auth::attempt(['correo_elec'=>$correo, 'password'=>$password]))
    {
        $_session['correo']=$correo;
        $_session['contra']=$password;

        if(Auth::user()->tipo==0)
        {
            return view('cliente');
        }
        elseif(Auth::user()->tipo==1)
        {
            return view('veterinario');
        }
        elseif(Auth::user()->tipo==2)
        {
            echo("Admin");
        }
    }
    else
    {
        var_dump($correo, $password);
    }

}

如果您知道如何修复它,我将非常感激您的帮助。

你是在使用Laravel的身份验证控制器还是手动使用类?你的路由是什么样子的? - camelCase
不,我正在使用自己的控制器,我的登录功能就是我发布的那个。 我的路由如下:Route::post('/inicio', 'Con_Usuario@ini_ses'); Route::post('/registro', 'Con_Usuario@reg'); Route::post('/RegMasc', 'Con_Mascota@reg'); Route::post('/RegVetria', 'Con_Vetria@reg'); Route::post('/Vinculacion', 'Con_Usuario@envio_cor'); Route::post('/mod_usu', 'Con_Usuario@mod'); Route::get('/mod_masc', 'Con_Mascota@mod'); Route::get('/cerrar', 'Con_Usuario@salir'); Route::get('mascota/{cod}', ['uses'=>'Con_Mascota@mod_masc']); - Valeria
1个回答

3

更新:另一个可能性

Laravel 4认证(Auth)可以使用,但无法保持登录状态

移除除了重定向之外的所有内容。显然,这可能会干扰身份验证过程。


Auth::attempt()应该触发必要的操作来保持用户登录状态,一个小而简单的可能性是记住我功能。虽然不应该是这样,但值得一试。

将true作为第二个参数添加到函数中。

  if(Auth::attempt(['correo_elec'=>$correo, 'password'=>$password], true))

假设您的“用户表”具有默认的 Laravel 结构(带有一个“记住令牌”列)。

1
只是出于好奇,您指的是哪一部分呢?是删除除重定向以外的所有内容,还是记住我参数? - Anees Saban

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接