ajax를 사용하여 로그인 시스템을 설정하려고합니다.Ajax 로그인을 RESTful 서버로 만들 수 없습니다.
사용자가 자신의 로그인과 비밀번호를 subdomain.domain.com (otherdomain.com 일 수도 있음)에 삽입 한 후 rest.domain.com에 Jquery $. post 요청을하고 사용자가 올바르게 로그인하게됩니다.
그런 다음 rest.domain.com에 다시 요청하여 사용자가 기록되었는지 (또는 사용자가 로그인해야하는 다른 작업을 수행하는지 확인) 세션이 비어 있습니다.
내가 뭘 잘못하고 있니?
편집
클라이언트 응용 프로그램 (슬림 UFLEX를 사용하여)
$.post('http://rest.domain.com/user/login',form,function(data){
//Do what is needed
});
편안하고 응용 프로그램
header('Access-Control-Allow-Origin: *');
session_start();
//User
//Check if logged
$app->get('/user/logged', function() use ($user, $app){
print_r($_SESSION);
echo $user->signed;
});
//Login
$app->post('/user/login', function() use ($user, $app) {
$username = isset($_POST['email']) ? $_POST['email'] : false;
$password = isset($_POST['password']) ? $_POST['password'] : false;
$auto = isset($_POST['auto']) ? $_POST['auto'] : false;
$user->login($username,$password,$auto);
if($user->signed){
print_r($_SESSION);
}else{
//Display Errors
foreach($user->error() as $err){
echo "<b>Error:</b> {$err} <br/ >";
}
}
});
동일한 웹 앱입니까? 어떤 서버를 사용하고 있습니까? 웹 API? servicestack? –
세션을 어떻게 처리하는지 더 자세히 설명해 줄 수 있습니까? $ _Session []을 사용하거나 데이터베이스에 저장하고 있습니까? – CodePorter
@ 엘거 - 사실 두 개의 웹 앱이 있습니다. 서버와 클라이언트. 또한 표준 Linux 공유 환경에 설정되어 있습니다. – Robyflc