hej,
jest z tym jeden maly problem:
* CakePHP session IDs are also regenerated between requests if
* 'Security.level' is set to 'high'
poradzilem sobie inaczej - postanowilem skorzystac z klasy Cache:
1) wrzucilem w core.php wlasny setup keszu:
Cache::config('cacheDeletedUsers', array('engine'=>'File', 'path' => CACHE, 'duration' => 1200));
jesli 'Security.level' jest ustawiony na 'high' sesja w aplikacji trwa 20 minut - stad wartosc 1200 dla swiezosci keszu...
2) w app_controller wrzucilem taka funkcje:
function _cacheDeletedUsers($ids = array()) { //$ids - tablica id-ków usuniętych użytkowników
Configure::write('Cache.disable', false);
$deleted_users = Cache::read('DeletedUsers');
if (!$deleted_users) {
//pusty cache
Cache::write('DeletedUsers', $ids, array('config' => 'cacheDeletedUsers'));
} else {
//pełny cache
$new_ids = array_merge($deleted_users, $ids);
Cache::write('DeletedUsers', $new_ids, array('config' => 'cacheDeletedUsers'));
}
}
wywoluje ja tuz po pomyslnym usunieciu usera przez admina...
3) w app_controller w beforeFilter sprawdzam, czy zalogowany user nie jest przypadkiem na liscie usunietych:
if ($this->Auth->user()) {
Configure::write('Cache.disable', false);
$deleted_users = Cache::read('DeletedUsers');
if ($deleted_users && in_array($this->Auth->user('id'), $deleted_users)) {
$this->redirect($this->Auth->logout());
}
}
Co sadzicie o tym rozwiazaniu???