2016-10-08 3 views
1

私のウェブサイトプロジェクトは、ほぼすべてのページにユーザー固有のデータを表示します(ログされた場合はトップバーにユーザー名を表示するなど)。Djangoでユーザーがクライアント側にログインしているかどうかを知る安全な方法

私はAJAXを使用して、ユーザーが認証されているかどうかに応じてhtmlフラグメントを取得します(認証されている場合はトップバーにユーザー名を表示します)。

私の質問は、上記の方法は、AJAXは、ほぼすべてのページにGET要求し、その後、少なくともHTTPリクエスト&にサーバーの負荷を倍に呼び出すために私を引き起こし、いくつかのクッキーlogged_in: trueを追加し、それをチェックすることが安全ですので、私は呼び出しますAJAX GETリクエストは、ユーザーがログインしている場合のみリクエストしてください。

Djangoと現代webdevの規約では、CookieにセッションIDのみを追加し、すべてがサーバー側にあります。クライアント側にログインしていますか?

答えて

1

テンプレートでは、is_authenticatedを使用して、条件付きでajaxリクエストを作成します。

{% if request.user.is_authenticated %} 

<!-- make the ajax requests --> 

{% endif %} 
+1

大多数のページをキャッシュするため、残念ながら私の場合はうまくいきません。私はAJAXを使って私のページの遅い計算を克服しています。 –

関連する問題