0

私はJavaScriptのバックグラウンドから来て、私は最近サーバー側を学んでいます。私は、サーバー側のコントローラーがクライアント側とのやりとりに関して1対多の比率であるという印象を受けています。サーバー側コントローラがクライアントから複数のセッションを処理する方法は?

enter image description here

そして私は、ログインするため、このコードを持っている:私はこれがためのユニークなコントローラがあることを意味し、セッション辞書にはJavaScriptののlocalStorage対応のようであることを理解し

@expose('/login/', methods=('GET', 'POST')) 
    def login_view(self): 
     if request.method == 'GET': 
      # Render template 
     if request.method == 'POST': 
      # Take email and password from form and check if 
      # user exists. If he does, log him in. 
      login.login_user(user) 

      # Store user_id in session for socketio use 
      session['user_id'] = login.current_user.id 

      # Redirect 

すべてのユニークなクライアント?複数のクライアントが同じコントローラを共有している場合は、session.user_idを上書きするためです。

答えて

1

セッションが作成されるのは、ユーザーが認証された後にクライアント側(Cookie内)で状態が維持されることです。

したがって、ユーザーが電子メールとパスワードでログインすると、サーバーは(データベースに格納されている有効な電子メールとパスワードで何らかの確認を行います)。サーバーは、応答にトークン(および有効期限の可能性)を設定してクッキーを設定できるようになりました。その後、その特定のクライアントからのHTTP要求にはトークンがあり、トークンはサーバーによってそのユーザーを識別するために使用されます。

基本的に、すべてのセッションはクライアント側で維持され、コントローラはサーバー側で有効性をチェックします。

関連する問題