Laravel 5.1 auth 刷新后注销

Posted

技术标签:

【中文标题】Laravel 5.1 auth 刷新后注销【英文标题】:Laravel 5.1 auth logs out after refresh 【发布时间】:2016-04-06 06:44:04 【问题描述】:

我是第一次使用 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 的身份验证控制器还是只是手动使用这些类?你的路线是什么样的? 不,我使用的是我自己的控制器,我的登录功能是我发布的。我的路线是: Route::post('/inicio', 'Con_Usuario@ini_ses'); Route::post('/registro', 'Con_Usuario@reg');路线::post('/RegMasc', 'Con_Mascota@reg'); Route::post('/RegVetria', 'Con_Vetria@reg');路线::post('/Vinculacion', 'Con_Usuario@envio_cor');路线::post('/mod_usu', 'Con_Usuario@mod');路线::get('/mod_masc', 'Con_Mascota@mod');路线::get('/cerrar', 'Con_Usuario@salir');路线::get('mascota/cod', ['uses'=>'Con_Mascota@mod_masc']); 【参考方案1】:

更新:另一种可能性

Laravel 4 Auth works but does not stay logged in

删除所有,但重定向。显然这可能会扰乱身份验证过程。


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

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

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

假设您的 Users 表具有默认的 laravel 结构(带有记住标记列)

【讨论】:

只是出于好奇,哪一部分?删除除重定向之外的所有内容,还是记住我的参数?

以上是关于Laravel 5.1 auth 刷新后注销的主要内容,如果未能解决你的问题,请参考以下文章

注销不适用于 Laravel JWT-auth

修复 laravel 5 会话在刷新或进入另一个页面后过期?

Laravel 5.1 注册后 Auth::attempt no access to the user data on another page

一旦您下载并注销 Laravel 文件下载就不需要 Auth

laravel5.2之logout注销账号无效

注销后刷新/重新加载页面