我々はHybirdアプリケーションを記述する場合は、通常、クッキーはトークンを使用してユーザーセッションを達成交換します。
それはアプリ内に放出されている場合、アプリはWebViewの環境が付属しているので、バックエンドサーバーで実行時の関係は、サーバ2サーバに相当し、それは一般的にクロスドメインの問題に関与していません。
しかし、それは、端末にブラウザで直接実行されるため、H5のAppワードに放出された場合、CORS(クロスドメイン・リソースの共有)に関連する問題を処理します。
主に3つの面でCORSの解決策、について:
1は、単純な要求:ヘッダーが追加情報を必要としない、応答が頭に直接追加することができます。
response.setHeader(「アクセス制御-許可-起源」、「*」); // ドメイン名要求できるように 、response.setHeader(「アクセス制御-許可-メソッド」、「POST、GET」) // 許可を要求モード response.setHeader( "アクセス制御-ヘッダ許可"、 "*"); //は、カスタムヘッダーができます response.setHeader( "アクセス・コントロール・マックス加齢"、 "3600"); // 信頼時間
図2に示すように、複雑な要求:要求または応答が処理される追加の情報ニーズが含まれている場合の前提条件は、右の応答を取得する場合に、ヘッダー、要求は、したがって、正式な要求を送信し、そしてだろう、事前-OPTIONSの実際の型は、前に要求するたび一度送信されます、サーバは、上記応答外部に加えて追加する必要があるだけでなく、前処理要求に:
文字列メソッド= のGetRequest()getMethod()メソッドは、toUpperCase()。。。 もし(方法== "OPTIONS" ){ response.setStatus(HttpStatus.SC_NO_CONTENT)。 }
図3は、トークンを送信する:あなたはトークンヘッダーによってフロントに戻す必要がある場合は、応答を送信する前に、あなたはまた、行を追加するために、追加のライセンスを必要とする、最も重要なことです。
response.setHeader(「アクセス制御-露光-ヘッダ」、 『MyAppTokenName』)。 response.setHeader( "MyAppTokenName"、TokenUtil.getToken());
コードの赤のラインが非常に重要であり、それ以外の先端がバックトークンの文字列を応答を受信しません。