2011-02-05 25 views
1

私は長い間開発中のWebアプリケーションプロジェクトに取り組んでいます。アプリには2つの側面があり、サイトの大部分は一般公開されています。ただし、ユーザーが特定のコンテンツにアクセスするにはログインする必要があるセクションがあります。Googleカスタム検索とクエリー文字列の受け渡し

ユーザーがログインすると、データベースのテーブルに格納されているセッションID(GUID)が取得されます。このセッションIDは、ユーザーとそのアクティビティに関するすべての種類のデータを追跡します。

このセッションID変数が存在するかどうかを調べるために、アプリケーションのすべてのページが照会されました。ユーザーがこれらの保護された領域の1つにアクセスしようとすると、このsessiond変数がクエリー文字列に含まれているかどうかがチェックされます。私がそうでなければ、彼らはログイン画面にリダイレクトされます。

サイト移動の流れが前後に、非セキュア領域に固定領域からシームレスに移動するユーザーなどがあり

だから我々は、Googleカスタム検索でテストランを行なったし、それが素晴らしいんこれらのパブリックエリアで私たちの動的コンテンツをすべて取り上げる仕事。しかし、我々は検索結果と一緒にセッションIDを渡す方法を見つけることができませんIFユーザーはすでにログインしています。

urlにすでに存在するクエリ文字列変数を検索結果とともに送信することはできますか?

+2

なぜクエリ文字列にセッションIDを格納していますか?この10年間のクッキーは標準的なものです。 –

答えて

0

私が知る限り、これは不可能です。 Googleでは、カスタム検索で検索結果のURLを変更する可能性はありません。

可能な解決策は、すべてのURLを渡すのではなく、セッションキーをCookieに保存することです。

0

はルック&フィールで

function parseQueryFromUrl() { 
    var queryParamName = "q"; 
    var search = window.location.search.substr(1); 
    var parts = search.split('&'); 
    for (var i = 0; i < parts.length; i++) { 
     var keyvaluepair = parts[i].split('='); 
     if (decodeURIComponent(keyvaluepair[0]) == queryParamName) { 
     return decodeURIComponent(keyvaluepair[1].replace(/\+/g, ' ')); 
     } 
    } 
    return ''; 
    } 

SELECTの結果ONLYオプションparseQueryFromUrl機能を使用し、それがコードを提供します。 www.google.com/cse/

関連する問題