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条回答 默认 最新

相关推荐 更多相似问题