2011-12-07 30 views
8

Şimdi, tornado becerilerimi geliştiriyorum ve kullanıcı yetkisi hakkında bir sorum var.Kasırga websocket uygulamasında kullanıcı kimlik doğrulaması

Çözümüm, ilk sayfada güvenli bir simge oluşturmak ve daha sonra başka verilerle, javascript'ten kasanıza ve kullanıcının kimliğini belirten kasırga sunucusuna göndermek.

i çerezi düşünmek ama ben ne düşündüğünüzü WebSocketHandler.on_message

çerezleri okuyabilir bilmiyorum? ve nerede yanlışım?

cevap

10

overview section belgelerindeki belgeleri okumanızı öneririm.

bazı alakalı içerik olmalıdır:

DÜZENLEME

Ben sadece soru gerçekleşen

Abou t websockets.

Sen erişmek mümkün olmalıdır WebSocket işleyicisindeki çerez kontrol

  • uygulamanıza
  • olmayan WebSocket bölümünde bir çerez oluşturun: Ben size ana hatlarıyla yaklaşımı kullanabilirsiniz inanıyoruz istek, websocket işleyicisinin içinde self.request.headers kullanarak üstbilgiler.

+1

oh sayesinde Codeape döndürmez olursa! 'self.request.headers' websocket işleyiciyi kullan, günümü kurtar) – yessi

+0

Buradaki cevaba bakın: http://stackoverflow.com/questions/4311180/how-to-send-cookies-when-connecting-to-socket-io- ile-WebSockets – nathancahill

6

Bir müşteri muhtemelen sahte kullanıcı ile istek başlıklarını yapabilirsiniz: 'user = "ImFkbWxxxx == | xxxxxxxxxx | 9d847f58a6897df8912f011f0a784xxxxxxxxxx"'

Ben şu yaklaşım daha iyi olduğunu düşünüyorum. kullanıcı yok veya çerez kimliği doğru veya sahte değilse, o zaman fonksiyon get_secure_cookie bir kullanıcıya

class WebSocketHandler(tornado.websocket.WebSocketHandler): 

    def open(self): 
     user_id = self.get_secure_cookie("user") 
     if not user_id: return None 
     ... 
İlgili konular