現在、単一ページのアプリケーションに取り組んでおり、これを実現するために React と Relay を使用しています。
ユーザーがログインしていない場合、非常に異なる、または存在しないコンポーネントがいくつかあります(たとえば、ログインしているユーザーのドロップダウンメニュー、プロフィールページ、メンバーコンテンツへのアクセスなど)。
注意すべき重要なことは、私が WordPress を として使用していることCMS
です。ログインは現在、通常の方法HTTP
で、通常のページ更新で行われます。WordPress は、ログインしているユーザーにいくつかのセッションを設定します。
問題..ユーザーがログインしているかどうかを確認するための非常に簡単なWordPressの方法(ワンライナー)があります。PHP
理由はわかりませんが、
AJAX
(20 バイトのデータであっても) ロード時間が非常に長くなります (数秒)。ユーザーが頻繁にログインしているかどうかを確認する必要があり、これは受け入れられません。私の接続とサーバーは問題なく、「通常の」ページの読み込みにはほぼ同じ時間がかかります。つまり、リクエストを送信し、ユーザーAJAX
がサーバーにログインしているかどうかを確認することはオプションではありません。PHP
セッションのキーまたは値を取得できません。これらはどちらもランダムに生成され、データベースに保存されておらず、おそらく安全上の大きな懸念となるからです。つまり、「秘密の」変数値
JS
がセッションキーまたは値と等しいかどうかを確認できません。
この 2 つのテクノロジを一致させるにはどうすればよいですか? CMS
全体がそれに依存しており、それを変更するのは非常に面倒なので、WordPress のログイン システムを削除する方法がわかりません。または、フロントエンドで別のJS ログイン メカニズムを使用する必要がありますか? ユーザーは WordPress バックエンドにアクセスできず、管理者だけがアクセスできます。
しっかりした答えがなくても、すべての提案はコメントで大歓迎です!