2012-11-16 38 views
0

我在我的网站中使用远程登录功能从我的网站登录到onapp服务器上。这实际上是使用CURL获取表单并提交用户名和密码。它工作正常。现在我的网站为单个用户提供了不同的服务,因此onapp服务器上有多个帐户。因此,我需要一种方法来检查onapp服务器上是否存在会话(如果用户已经登录)。如果用户已经登录到onapp,将不允许再次登录并显示已有用户登录。因此需要使用新凭据注销用户并登录。任何想法如何做到这一点。 ?检查用户是否在另一个域中登录

回答

1

这一个我认为它可以帮助你

// REST Server URL 
$request_url = 'http://localhost:3000/rest_api/user/login'; 

// User data 
$user_data = array('username' => 'jimthunderbird',  
    'password' => '123456',); 

// cURL 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $request_url); 
curl_setopt($curl, CURLOPT_POST, 1); 
// Do a regular HTTP POST 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($user_data)); // Set POST data 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 

$response = curl_exec($curl); 

print $response; 

$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
// Check if login was successful 
if ($http_code == 200) { 
    // Convert json response as array 
    $logged_user = json_decode($response); 
} else { 
    // Get error msg 
    $http_message = curl_error($curl); 
    die($http_message); 
} 

print_r($logged_user); 
+0

其实我需要的不是检查用户是否正在执行的登录功能后登录。我需要的是检查用户会话是否存在于同一浏览器中。也就是说,用户也可以直接登录到onapp界面。因此,如果用户已经从同一浏览器登录,则不允许其他用户登录。也可能会发生多个用户登录,因为我正在为用户从我的网站订购的每个服务创建特定帐户。 –

+0

您是否有权访问OnApp控制面板服务器?访问用户界面的日志在那里。然后您可以检查相同的IP是否访问不同的用户ID。 – arikin