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 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)