2012-11-16 4 views
0

내 웹 사이트에서 내 사이트의 원격 로그온 서버에 로그인하기 위해 원격 로그인 기능을 사용하고 있습니다. 실제로 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 제어판 서버에 액세스 할 수 있습니까? UI에 대한 액세스 로그가 있습니다. 그런 다음 동일한 IP가 다른 사용자 ID에 액세스하고 있는지 확인할 수 있습니다. – arikin

관련 문제