Как проверить, авторизован ли аутентифицированный пользователь (Zend FW) в какой-либо функции JQuery?

В пользовательской области есть информация о пользователе (веб-приложение использует Zend Framework + Jquery). Когда я вошел в систему как USER_1, я, конечно, могу редактировать информацию USER_1, но когда я в новом окне браузера вышел из системы как USER_1 и вошел в систему как USER_2, а затем вернулся в окно с открытой информацией USER_1, я могу редактировать информацию USER_1, но вошел в систему как USER_2.

Код кнопки EDIT в поле зрения:

<div class="editbutton" id="switchbutton<?php echo $user['id']; ?>" onclick="showBody(<?php echo $user['id']; ?>)">EDIT USER</div>

функция showBody в отдельном файле .js:

showBody = function(id) {
  if(active_id == id){
    $("#user-body-" + active_id).slideUp(250);
    active_id = 0;
    $("#switchbutton" + id).text("EDIT USER");
    return;
  }
  if(active_id == 0) $("#user-body-" + id).slideDown(300);
  else {
    $("#user-body-" + active_id).slideUp(250, function() {
      $("#user-body-" + id).slideDown(300);
    });
  }
  $("#switchbutton" + active_id).text("EDIT USER");
  $("#switchbutton" + id).text("CANCEL");
  active_id = id;
};

user-body — это форма с текстовыми полями для редактирования.

Как можно получить из функции showBody текущего аутентифицированного пользователя для сравнения с active_id и, если они равны, передать действие, если не перенаправить на какой-либо индекс/действие?


person LIAL    schedule 23.10.2012    source источник
comment
Если вы можете редактировать информацию о пользователе 2, войдя в систему как пользователь 1, то в дополнение к проверке на стороне клиента вы спрашиваете о том, что вам нужно выполнить серверную часть при сохранении данных пользователя, чтобы гарантировать, что текущий пользователь, вошедший в систему, может редактировать тот, который сохранен.   -  person Tim Fountain    schedule 23.10.2012


Ответы (1)


Вы всегда можете использовать Zend_Auth

    // Get Zend_Auth instance
    $auth = Zend_Auth::getInstance();

    // Has user been authenticated
    if($auth->hasIdentity())
    {
      // If so, set user identity
      $this->view->identity = $auth->getIdentity();

      switch($this->view->identity->id)
      {
       case 1:
       $this->view->headScript()->appendFile(somefile.js');                 
      }
person Joe Brown    schedule 23.10.2012