期限切れのセッションと未承認のHTTP要求
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
アプリケーションは、セッションの有効期限が切れたときにユーザーをログインページにリダイレクトする必要があります。SPEAK 3は、アプリケーション内のすべてのHTTPリクエストに対する401 Unauthorized Accessエラーを処理することでこれを行います。
シングル ページ アプリケーションのSitecoreルーティングおよびホスティング規則 を使用して、アプリケーション エントリ ポイントの認証を処理する必要があります。
承認処理フローは次のとおりです。
-
クライアントはサーバーに要求を送信します。
-
サーバーは、要求が認証されているかどうかを確認します。
-
trueの場合、サーバーは要求を続行します。
-
そうでない場合、サーバーはクライアントに401エラーを返します。
-
-
クライアントは応答を処理します。
-
認証された場合は、通常どおり進行します
-
401エラーが返された場合は、ページが更新されます。サーバーは、ページ更新時にログインにリダイレクトします (そのエントリポイントが認証をチェックする場合)。
-
バックエンドのセットアップ
バックエンドのセットアップ
ASP.NET Web APIを使用してバックエンドAPIサービスを開発する場合は、Authorize属性を使用してサービスの認証を有効にします。MVCを使用して開発する場合は、MVCのセッションを正しく処理するため、代わりにSitecoreAuthorize属性を使用します。
すべてのHTTP要求の401エラー コードを処理する
すべてのHTTP要求の401エラー コードを処理する
AngularのSPEAK3.Integrationパッケージ (ng-sc) は、Angularアプリケーションの401エラーコードをチェックするためのアプリケーション全体のソリューションを提供します。
このモジュールをコードにインポートすると、公式のAngular HTTPクラスに自動的にパッチが適用され、すべての401エラーがキャッチされます。アプリケーションに401エラーが返されると、モジュールはページのリロードをトリガーします。その後、Sitecoreは、ページが更新されたときにユーザーをログイン ページにリダイレクトします。
リクエストには、引き続き公式のHTTPモジュールを使用してください。コードの書き方に違いはありませんが、コードがすべての401リクエストを処理する点が異なります。アプリケーションは、404エラーなどの他のエラー コードを引き続き処理する必要があります。