Ich bin eine REST-API für meine Android-App zu erstellen, damit ich CodeIgniter-Datenbank-Session-Manager aktivieren (ich folgte dieser answer), um einige Informationen von meinen Benutzern zu speichern, wenn sie protokollieren .So dekodieren BLOB-Datenobjekt aus der Sitzungstabelle CI
$this->session->set_userdata('key', 'value');
Hier mein config.php ist: in
Hier mein Code zum speichern von Informationen ist
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
Meine Frage ist: Wie kann ich t Die Informationen, die ich bereits in der Sitzungstabelle gespeichert habe? Ich sehe nur ein BLOB-Objekt in den Spalten ci_session, aber wie kann ich es dekodieren oder wie wird es verwendet?
Ich habe bereits die Sitzungs-ID von meinem Server an meine Android-App gesendet und wann immer meine App Informationen vom Server benötigt, sendet sie sie zurück. Ich habe auch die SELECT-Abfrage das BLOB-Objekt zu erhalten:
$data = $this->db->query("SELECT data FROM ci_sessions WHERE id='5c825c032b6cf25b10e984f0ee8e1bd48a2c1916'");
$query = $data->result();
Aber wie erreiche ich den Schlüssel der Daten um den Wert zu erhalten?
Wie weiß CodeIgniter dann, welche Sitzungsdaten abgerufen werden sollen? Ist es wirklich notwendig, meine Session ID von meiner Android App auf den Server zu senden? –
REST ist zustandslos und auch HTTP. Sie können keine REST-API verwenden und versuchen, sie so zu gestalten, dass sie sich wie eine Browsersitzung verhält. Daher müssen Sie die Sitzung abfragen. Haben Sie stattdessen die Verwendung von Token in Betracht gezogen? –
Wie soll ich Tokens verwenden? Also, es gibt kein Wey um mit dem BLOB Objekt zu arbeiten? –