2013-03-20 4 views
0

내 응용 프로그램에서는 socketio와 nodejs를 사용하고 있습니다. 간단한 인증을 구현하려고합니다. 사용자가 승인 된 경우 내 애플리케이션으로 리디렉션해야합니다. 그렇지 않으면 동일한 페이지로 리디렉션해야합니다. 내가 구현 된 샘플 코드는 콘솔에socketio와 nodejs (express)

app.get('/', function(req, res){ 
     if(auth) 
     { 
      res.sendfile(__dirname + '/home.html'); 
     } 
     else 
     { 
     res.send("hello user"); 
     } 
}); 
io.sockets.on('connection', function(socket){ 
     var uname; 
     var pwd;  
    socket.on('news', function(data){  
    uname=data; 
    console.log("the information i got is" + uname); 
    }); 
    socket.on('pass', function(data){ 
    pwd=data; 
    console.log("the information i got is" + pwd);  
    if (uname==123 && pwd ==321) 
    { 
    auth=true; 
    console.log("AUTHENTICATED USER"); 
    } 
    }); 
    socket.on('disconnect', function(data){   
    });  
}); 

내가이

the information i got is123 
the information i got is321 
AUTHENTICATED USER 

을 얻고 있지만, 사용자가 허가 된 경우 내가 직면하고있는 문제입니다 ..

<script> 
    $(function(){  
     $('#join').click(function() { 
      var uname = $('#uname').val(); 
      alert(uname); 
      socket.emit('news', uname);        
      var pwd = $('#pwd').val();  
      socket.emit('pass', pwd); 
     }); 
     }); 
</script> 

서버 코드입니다 다른 페이지로 리디렉션하지 않습니다.

+0

내가 직면하고있는 문제는 형식이 지정되지 않은 코드를 읽을 수없고 코딩 스타일이 부족한 것 같습니다. – mkoryak

+0

문제가 생겨서 죄송합니다 .... 클라이언트 측에서 클라이언트가 버튼을 클릭하면 사용자 이름과 암호를 저장하고 있습니다. 서버 측에서 소켓을 열 때 소켓에서 값을 가져 오는 중 값이 유효한지 값을 확인하면 해당 app.get()을 사용하여 응용 프로그램으로 리디렉션해야합니다. – Ramesh

답변

1

클라이언트에게 url 보내기를 시도하고 클라이언트 브라우저에서 t 그는 리디렉션합니다 ...

어때요?

클라이언트 :

$(function(){  
     $('#join').click(function() { 
      var uname = $('#uname').val(); 
      alert(uname); 
      socket.emit('news', uname);        
      var pwd = $('#pwd').val();  
      socket.emit('pass', pwd); 
      socket.on('url', function (data) { 
      window.location.href=data;  
    }); 
     }); 
     }); 

서버 :

app.get('/', function(req, res){ 
     if(auth) 
     { 
      socket.emit('url', { msg: 'homePage' }); 
     } 
     else 
     { 
      socket.emit('url', { msg: 'hiPage' }); 
     } 
}); 

참고 :이 그냥 샘플 코드가 아닌 실행 파일입니다.