2017-06-21 2 views
0

ユーザーログイン後、データはクライアント側に保存されます。node.jsにページがレンダリングされる前にサーバーにデータを渡しますか?

見ることがログインしているユーザを必要としないいくつかのページがありますが...

例えば、私は、URLのパラメータを使用してプロフィールページをレンダリングNode.jsの上のルートを持っています。彼らはそれを後で見ることができるように

app.get("Profile/:id",function(req,res){ //render page and send it.} 

誰でもこのページを見ることができます...しかし、ここでは状況です...私のアプリでは、ユーザーがこのページにメモを投稿することができます。つまり、ユーザーがそのページにアクセスしたときにユーザーがログインしている場合、そのユーザーはすべてのメモを見ることができます。

メモのデータはサーバー側です。

私の質問は... ...のときにノートをロードして送信できるように、ユーザーデータをapp.get( "profile /:id" ... function)に渡すにはどうすればいいですか?

1つのことを知っておくことが重要です。ユーザーのアクティブソケットを参照するURLには固有のキーを渡してデータをjsonに投稿するという解決策がありますページがレンダリングされる前にクライアントからサーバーにデータを渡すには?

+0

認証/承認の仕組みは? JWTか他の何か? –

+0

または* express-sessions *? –

+0

あなたはあなたのソリューションがユーザーに友人へのリンクを送信することを許可し、URLエンコードされたキーでリンクを使用して移動したという理由だけで友人が自動的に最初の人物としてログインしていると言いますか?それは本当に危険です。 –

答えて

-2

数日後、私はこの質問の解決を達成することができました

アイデアはPHPで$ _SESSIONのようなSession tipe変数を持つことです。

エクスプレスポスト機能では、明示セッションnpmが必要で、必須パラメータでセッションを割り当てる必要があります。値を設定した後は、ブラウザがその場所から変更されるたびに、同じセッション変数を抽出し、データを使用してレンダリング時に応答を送信することができます。

私はejsを使ってレンダリングしました。

次のリンクには、これを実現する完全なチュートリアルがあります。

https://codeforgeek.com/2014/09/manage-session-using-node-js-express-4/

+0

[リンクのみの回答を避ける](http://meta.stackoverflow.com/tags/link-only-answers/info)お願いします。 「外部サイトへのリンク以上に」の回答(削除されるかもしれない)(http://stackoverflow.com/help/deleted-answers) – Quentin

+0

ありがとう、これを知らなかった – AlexAdagio

関連する問題