douxun4860 2016-07-12 19:38
浏览 90
已采纳

Laravel 5.2会话没有坚持下去

I've searched a lot before posting and every 'solution' that I've found did not work.

I can't get a session value from a different route than the current one.

Routes.php

Route::group(['middleware' => 'web', 'prefix' => 'blog', 'namespace' => 'Modules\Blog\Http\Controllers'], function()
{

Route::get('/','PostController@index');

Route::get('/home',['as' => 'home', 'uses' => 'PostController@index']);

Route::get('auth/login', 'Auth\AuthController@showLoginForm');

Route::post('auth/login', 'Auth\AuthController@login');


 Route::group(['middleware' => 'blog.auth'], function(){
  Route::get('/admin',['as'=>'dashboard','uses'=>'AdminController@index']);
  });
 });

Kernel.php

protected $middlewareGroups = [
    'web' => [
        \ommitedbutcorrect\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class
    ],

    'admin' => [
        \Modules\Admin\Http\Middleware\ControllerResolver::class,
    ],
    'admin.auth' => [
        \Modules\Admin\Http\Middleware\AdminAuthenticate::class,
    ],
    'blog.auth' => [
        \Modules\Blog\Http\Middleware\BlogAuthenticate::class,
    ],
    'api' => [
        'throttle:60,1',
    ],
];

AuthController.php

class AuthController extends Controller
{


use AuthenticatesAndRegistersUsers, ThrottlesLogins;


protected $redirectTo = '/blog/admin/';


public function __construct()
{
    $this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}

public function login()
{
    dd(\Session::get('foo'));
    $userdata = array(
        'email'     => Input::get('email'),
        'password'  => Input::get('password')
    );

    if (\Auth::attempt($userdata)) {
        \Session::save();
        return redirect($this->redirectTo);
        }
        else{
            return 'f*ck';
    }
}

public function showLoginForm()
{
    \Session::put('foo', 'bar');
    return view('blog::Admin.login');
}

Chmod 777 on Storage and Bootstrap folders, session driver database.

It seems that the session is creating itself every time with the request that would explain why I can't get the the value with Session:get('foo') which now returns null.

I wasted 3 days on this already :/.

Would appreciate the help, if you guys need more details / code just say the word.

  • 写回答

5条回答 默认 最新

  • dpyoh6553 2016-07-20 19:33
    关注

    Fixed by clearing the cache with php artisan cache:clear

    I got my project from another person so no matter what changes I did, it used the cached settings(in this case it was using DB sessions and I wanted to use file-based sessions)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图