Laravelセッション/ SessionIDの問題

リアムg

私はlaravelのセッションを使用して、認証されていないユーザーを見積もりに結び付けています。しかし、頭を動かすことができず、Laravelsバックエンドの魔法の部分と関係があると感じているという問題に直面しています。

これが私のコードです:

$session_id = session()->getId();

$booking = Booking::create([
    'trip_start_date' => $request->pickup_date,
    'trip_start_time' => $request->pickup_time,
    'token' => $session_id,
    'ip' => $request->ip(),
 ]);

 session()->put('at_token', $session_id);

しかし、ミドルウェアでトークンを検証するとき、トークンは完全に異なります。私のファイルに記録されているように:

AT_TOKEN       [pjIGjpuz0tRT0mjLTtdwgzTCDXrdwRCJssgJ1ukE]
BOOKING TOKEN  [3fcjAzdKTOv2IGy3Zw7skh2c9PqN9O9G98BVbAO0]

セッション内のトークンはセッションIDのように見えますが、DBからのトークンはセッションIDとは異なるようです...何か助けていただければ幸いです。

編集:ミドルウェア...これは明らかに機能していますが、トークンは一致しませんが、セッションIDをセッションとDBに格納するときに、同じ変数を使用するので、どうして同じにできないのですか?!

//user not logged in, check session
                if (session()->has('at_token')) {
                    $token = session()->get('at_token');
                    if ($token == $booking->token) {
                        //user has the token, give them access
                        return $next($request);
                    }else{
                        Log::info("AT_TOKEN [$token] DOES NOT EQUAL THE BOOKING TOKEN [$booking->token]");
                    }
                }else{
                    Log::info('NO AT_TOKEN');
                }
Ujjwalネパール

あなたの問題の解決策はここにあります。https://laravel.com/docs/5.6/middleware#registering-middleware

こちらもhttps://laravel.com/docs/5.2/routing

このドキュメントには、デフォルトでは、セッションはルートに割り当てられていないミドルウェアではなく、Webミドルウェアに割り当てられているミドルウェアグループ内で使用されると記載されています。したがって、解決策はラインを移動することです

\Illuminate\Session\Middleware\StartSession::class,

protected $middleware = [
..........
\Illuminate\Session\Middleware\StartSession::class  
........
]

これで、セッションが持続します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    PictureBoxで画像のブレンドを無効にする

  2. 2

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  3. 3

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  4. 4

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

  5. 5

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  9. 9

    ZScalerと証明書の問題により、Dockerを使用できません

  10. 10

    Rパッケージ「AppliedPredictiveModeling」のインストール中にエラーが発生しました

  11. 11

    テキストフィールドの値に基づいて UIslider を移動します

  12. 12

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  13. 13

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  14. 14

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  15. 15

    CSSはアニメーションで変換および回転します

  16. 16

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  17. 17

    Chromeウェブアプリのウェブビューの高さの問題

  18. 18

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  19. 19

    amCharts 4で積み上げ棒グラフの輪郭を描く方法は?

  20. 20

    Officeアドインを使用してOutlookの連絡先のリストにプログラムでアクセスすることは可能ですか?

  21. 21

    Reactでclsxを使用する方法

ホットタグ

アーカイブ