Yii Framework Forum: Newbie - Gestione Della Sesione - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Newbie - Gestione Della Sesione Il session id cambia ad ogni chiamata Rate Topic: -----

#1 User is offline   Giovanni T 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 04-March 13

Posted 04 March 2013 - 02:57 AM

Ciao a tutti.

Sono nuovo, e spero in una vostra mano.

Sto provando a scrivere un'applicazione con YII. Ho creato dei moduli all'interno della stessa, uno di questo mi fa da "web service" (per capirci). All'interno di questo cerco di registrare delle variabili di sessione, per mantenenre lo stato dell'applicazione. Uso, ad esempio:

Yii::app()->session['event'] = 'Test'.

Tra una chiamata e la successiva però non viene mantenuta. Quello che ho notato è che la sessionid continua a cambiare tra una chiamata e l'altra.

Ho notato inoltre che facendo il print_r(apache_request_headers()); ottengo:

1a chiamata alla pagina da un clien esterno:

[Host] => xxx
[User-Agent] => xxx
[Content-Type] => text/xml; charset=utf-8
[Content-Length] => 2055
[Connection] => keep-alive

2a chiamata (c'è la sessione):

[Host] => xxx
[User-Agent] => xxx
[Content-Type] => text/xml; charset=utf-8
[Content-Length] => 858
[Connection] => keep-alive
[Cookie] => PHPSESSID=2io01sggp06dl8ah63cdr3ni44, CharCode=293a1567c77f25780de94981d4b8b907ba280ee2baa0c4

3a chiamata (ci sono 2 PHPSESSID !!!)

[Host] => xxx
[User-Agent] => xxx
[Content-Type] => text/xml; charset=utf-8
[Content-Length] => 606
[Connection] => keep-alive
[Cookie] => PHPSESSID=2io01sggp06dl8ah63cdr3ni44, CharCode=293a1567c77f25780de94981d4b8b907ba280ee2baa0c4, PHPSESSID=42die4a4n94qs3nkse8d6skfo0, PHPSESSID=10nnm7ku5m0kuvdm4ff287r612

La mia cfg in main.php

'session' => array(
'class'=>'system.web.CDbHttpSession',
'sessionName' => 'PHPSESSID',
'connectionID' => 'db',
'sessionTableName' => 'adm_sessions',
'autoStart' => true,
'useTransparentSessionID' => true,
'cookieMode' => 'allow',
'timeout' => 300

AGGIUNTA: Ho notato che nel response header viene sempre inserito il SetCookie, mentre, in una sessione che "funziona", il SetCookie è inserito una sola volta, la prima.

Non so che pesci pigliare !!!

Ogni suggerimento sarà di immenso aiuto

Grazie
0

#2 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 336
  • Joined: 10-April 12

Posted 04 March 2013 - 01:08 PM

io non ho capito molto quale sarebbe il tuo problema.
0

#3 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 04 March 2013 - 02:02 PM

Ricordati che stai usando un framework e quindi puoi anche usare le sue librerie:
CHttpSession

Anche questo è un bell'articolo:
larryullman.com
0

#4 User is offline   Giovanni T 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 04-March 13

Posted 04 March 2013 - 04:05 PM

Grazie sensorario.

Sto usando le librerie di Yii. Il problema è che non riesco, anche con queste librerie a far si che il server riconosca la sessione.

Oggi ho fatto un po' di debugging usando uno sniffer e loggando il codice. Mi sono accorto che il browser contattato (un gSoap) risponde via cookie con 2 variabili: phpsessid (inviato in risposta dal server ad una precedente richiesta) e charcode (aggiunto dal browser). Il server però le vede come un'unica variabile. gSoap inserisce una "," come separatore e il server non riesce ad utilizzarle. DA qui forse, l'impossibilità di riconoscere la sessione.

Questa è un'ipotesi. Qualcuno ha avuto un problema simile ?

Grazie mille

Giovanni
0

#5 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 05 March 2013 - 08:13 AM

Hai provato ad usare la tua applicazione su un altro server, per esempio in locale? Hai un ambiente di test?
0

#6 User is offline   robter63 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 42
  • Joined: 29-December 12

Posted 06 March 2013 - 09:28 AM

io le ho usate cosi:

per memorizzare
Yii::app()->session->add('cliente', $model);

per leggere
$model = Yii::app()->session->itemAt('cliente')

non so se ti sono di aiuto.
0

#7 User is offline   Giovanni T 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 04-March 13

Posted 06 March 2013 - 09:37 AM

Grazie.

Provo i vostri suggerimenti !!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users