2011-02-28 14 views
0

私は、セッションが存在することをIDで確認するにはどうすればよいですか?

、(私はそれにURLを渡す必要があり、私はGoogleにXMLを渡すことはできません)、Googleは作品をマッピングし 方法は、それがXMLを取得するために自分のサーバーを呼び出すことで、XMLデータをGoogleマップを使用しています

私のすべてのページはユーザー/パスワードで保護されているので、 Googleマップの認証を実装する必要があるので、現在のユーザーセッションID(何らかの方法で暗号化されている)を渡すことを考えていたので、私はそのIDとのセッションが存在することを確認することができますので、Googleはそのユーザーの代わりに私に電話しています

+1

bootstrap.phpの中でセッションを保存するために自分自身のテーブルを使用して終了し、それ

にクエリを実行しますか? – kjy112

+0

わからない、デフォルトの方法zendはそれらを格納する – max4ever

答えて

0

私はどのようにあなたがあなたのセッションを保存している

protected function _initSession() 
    { 

     $this->bootstrap('cache') 
     $config = array(
      'name'    => 'session', //table name as per Zend_Db_Table 
      'primary'   => array(
       'session_id', //the sessionID given by PHP 
       'save_path', //session.save_path 
       'name',   //session name 
       //'cols' => array('session_id', 'save_path', 'name', 'modified', 'lifetime', 'session_data') 
      ), 
      'primaryAssignment' => array(
       //you must tell the save handler which columns you 
       //are using as the primary key. ORDER IS IMPORTANT 
       'sessionId', //first column of the primary key is of the sessionID 
       'sessionSavePath', //second column of the primary key is the save path 
       'sessionName', //third column of the primary key is the session name 
      ), 
      'modifiedColumn' => 'modified',  //time the session should expire 
      'dataColumn'  => 'session_data', //serialized data 
      'lifetimeColumn' => 'lifetime',  //end of life for a specific record 
      'user_id' => 'user_id' 
     ); 
     //Tell Zend_Session to use your Save Handler 
     $savehandler = new Zend_Session_SaveHandler_DbTable($config); 


     //http://framework.zend.com/wiki/display/ZFPROP/Zend_Session_SaveHandler_DbTable 
     //cookie persist for 30 min 
     $config = Zend_Registry::get('config'); 


     $seconds = $config->session->seconds_life; 
     //Zend_Session::rememberMe($seconds = ($config->session->seconds_life)); 
     //make the session persist for 30 min 
     $savehandler->setLifetime($seconds) 
      ->setOverrideLifetime(true); 

     Zend_Session::setSaveHandler($savehandler); 

     Zend_Session::start(); 
    } 
0

session_id()は現在のリクエストのsession idを提供します。これをクッキーとしてGoogleに送信することもできますが、これを行うにはGoogleがあなたのクッキーを受け入れる必要があります。そうでない場合は、別の方法を見つける必要があります。

+0

私のサイトからクッキーを盗んで、それをgoogle bymyselfに注入しようとすることを意味する:D、私は知らない、長期的な信頼を鼓舞しない – max4ever

+0

'session_id'は公開されています。何も手渡されません。 –

0

Zend Sessionクラスのメソッドを使用することをお勧めします。

$sessionId = Zend_Session::getId(); 
+0

これは、Googleが自動的に新しいセッションIDを取得するため動作しません。認証されていないユーザーにもzendが割り当てます – max4ever

関連する問題