如何检查在一些JQuery函数中授权的经过身份验证的用户(Zend FW)?

时间:2012-10-23 08:45:55

标签: zend-framework jquery authentication zend-auth

用户区域中有用户信息(Web应用程序使用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进行比较,如果相等则通过操作,如果不重定向到某个索引/操作?

1 个答案:

答案 0 :(得分: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');                 
      }