使用api函数登录modx中的许多上下文

时间:2014-04-10 03:39:52

标签: modx modx-revolution

我在facebook登录工作,成功的facebook身份验证后我想使用modx api登录用户,我可以使用下面的代码登录他。但我没有得到如何登录多个上下文,我试图传递" login_context"参数,但它只是登录他" web"背景而非其他背景。

 $c = array(
   'login_context' => 'tech,data,finance',
   'username' => $username,
   'password' => $password,
   'returnUrl' => 'http://www.mydomain.com',
 );
 $response = $modx->runProcessor('security/login', $c);

2 个答案:

答案 0 :(得分:2)

loginContext仅针对一个上下文,如果您需要登录多个上下文,请使用add_contexts选项。

答案 1 :(得分:0)

这只是基本代码,可以让您简单了解如何完成。

if(isset($_POST) && count($_POST)){
   $username = $_POST['uname'];
   $password = $_POST['upass'];
   $c = array(
    'login_context' => 'web', // main context
    'add_contexts' => 'profile,gallery,videos', // other contexts
    'username' => $username,
    'password' => $password
  );

  $response = $modx->runProcessor('security/login',$c);

  if($response){
    if (!$response->isError()) {
      if($response->response['success'] == 1){
        echo json_encode(array("success"=>1));
      }else{
        echo json_encode($response->response);   
      }
    }else{
      echo json_encode($response->response); 
    }
  }
}