ノードjsを使用してブラウザでCookieを作成する方法

ジェシカ

ノードjsにユーザーの認証機能があり、認証、パスポート、その他のライブラリを使用していないので、よく理解できなかったので、独自の認証機能を実行しました。ただし、私の関数はユーザーに対してのみ本物であり、Cookieを作成しません。「有効期限」ノードでCookieを作成する必要があり、待機するとすぐにログインルートにリダイレクトされます。これをこの関数に実装したい:

function verify(req,res,username,password){                   
 db.serialize(function (){                                      
 const query = 'SELECT * from Users WHERE User = (?) AND Password = (?)'
 db.all(query,[username, password],function(err,rows){
 if(err) {
  console.log(err);
 }
 if(rows.length == 1){
  console.log(rows);                                            
  console.log("Correct user");
  res.render(__dirname + "/View/Home/index.handlebars");
 }                                                             
 else{
  console.log("Incorrecto user!")
  res.redirect('/login')
 }
});
});
}

これはノードjsでの私のルートです

app.get("/login", (req,res) => {                               
 res.render(__dirname + "/View/Home/login.handlebars");       
});

app.post("/",(req,res) => {                                    
 const username = req.body.username                          
 const password = req.body.password
 verify(req,res,username,password)

});

ユーザーが有効で、Cookieの有効期限が切れると、ユーザーは「/ login」ルートに再度リダイレクトされる場合は、verify()関数内にCookieを作成する必要があります。

プログラマー

Expressサーバーを使用している場合は、を使用してCookieを設定できますres.cookie(name, value, options)optionsはオブジェクトであり、maxAgeプロパティはおそらく必要なものです。つまり、有効期限が切れる前の数はミリ秒です。たとえば、ユーザーが有効な場合は、次のことができますres.cookie('username', username, {maxAge: 172800000 /* two days */})

リクエストのCookieにはreq.cookies、Cookie名キーと文字列値のオブジェクトであるを使用してアクセスできます'username'キーが存在して有効かどうかを確認でき、存在しない場合は、を使用してリダイレクトできres.redirectます。

function verify(req,res,username,password){
 // Place this block wherever you want it to check for a valid cookie
 // Depending on the context when this function is called, that might not be at the start
 if(typeof(req.cookies.username) != 'string')
   res.redirect('/login');     

 db.serialize(function (){                                      
 const query = 'SELECT * from Users WHERE User = (?) AND Password = (?)'
 db.all(query,[username, password],function(err,rows){
 if(err) {
  console.log(err);
 }
 if(rows.length == 1){
  console.log(rows);                                            
  console.log("Correct user");
  // Set Cookie
  res.cookie('username', username, {maxAge: 172800000 /* two days */});
  res.render(__dirname + "/View/Home/index.handlebars");
 }                                                             
 else{
  console.log("Incorrecto user!")
  res.redirect('/login')
 }
});
});
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ノードjsを使用してブラウザでCookieを作成する方法

分類Dev

ブラウザでjsを使用してデータをダウンロードする方法は?

分類Dev

PythonSeleniumを使用してブラウザでアラートウィンドウを作成する

分類Dev

ノード repl (ブラウザなし) で JavaScript をテストする方法は?

分類Dev

iframeを使用してHTMLブラウザを作成する方法

分類Dev

ノードjsでHmacを使用してトークンを作成する方法

分類Dev

Javaを使用してWebブラウザーを作成する

分類Dev

ノードjsでokhttpライブラリを使用してファイルをダウンロードする方法

分類Dev

自動browserify + uglifyを使用してブラウザー用のnode.jsコードを提供する方法

分類Dev

jsを使用してブラウザでcmdコマンドを実行する方法

分類Dev

JavaScriptコードを使用してブラウザの幅を取得する方法は?

分類Dev

ノードjsでsequelizeしてトランザクションを使用する方法

分類Dev

職人のコマンドを使用してブラウザでエラーを確認する方法

分類Dev

JSを使用してブラウザウィンドウを更新する

分類Dev

ブラウザでjavascriptを使用してメッセージを表示する方法

分類Dev

ノードを使用してユーザーIDでgithubに要点を作成する

分類Dev

Javaを使用してヘリウムでブラウザウィンドウを最大化する方法は?

分類Dev

ブラウザでcypherクエリを使用してpy2neoを使用して作成したノードを表示できません

分類Dev

ブラウザでXMLをアップロードして解析する方法

分類Dev

C#を使用してFirefoxブラウザの新しいウィンドウでURLを起動する方法

分類Dev

Cookieを使用してブラウザウィンドウの変更を目立たなくする

分類Dev

プロパティを最初のプロパティとして作成する方法(Neo4jブラウザのノードに表示されます)

分類Dev

gulpを使用してブラウザで更新する方法

分類Dev

Pyodideで作成したファイルをブラウザでコピー/ダウンロードする方法は?

分類Dev

Vue / HTML / JSダウンロードタグを使用してファイルをブラウザーにダウンロードする方法

分類Dev

AWSクラウドですべてのユーザーのサブドメインを作成する方法

分類Dev

Rscriptコマンドラインツールを使用してブックダウンで本を作成する方法

分類Dev

ブラウザ化されたノード暗号化モジュールの代わりにWebCryptoAPIを介してブラウザでECDHキーを生成する

分類Dev

ウェブブラウザなしでグーグルドライブAPIを使用する方法

Related 関連記事

  1. 1

    ノードjsを使用してブラウザでCookieを作成する方法

  2. 2

    ブラウザでjsを使用してデータをダウンロードする方法は?

  3. 3

    PythonSeleniumを使用してブラウザでアラートウィンドウを作成する

  4. 4

    ノード repl (ブラウザなし) で JavaScript をテストする方法は?

  5. 5

    iframeを使用してHTMLブラウザを作成する方法

  6. 6

    ノードjsでHmacを使用してトークンを作成する方法

  7. 7

    Javaを使用してWebブラウザーを作成する

  8. 8

    ノードjsでokhttpライブラリを使用してファイルをダウンロードする方法

  9. 9

    自動browserify + uglifyを使用してブラウザー用のnode.jsコードを提供する方法

  10. 10

    jsを使用してブラウザでcmdコマンドを実行する方法

  11. 11

    JavaScriptコードを使用してブラウザの幅を取得する方法は?

  12. 12

    ノードjsでsequelizeしてトランザクションを使用する方法

  13. 13

    職人のコマンドを使用してブラウザでエラーを確認する方法

  14. 14

    JSを使用してブラウザウィンドウを更新する

  15. 15

    ブラウザでjavascriptを使用してメッセージを表示する方法

  16. 16

    ノードを使用してユーザーIDでgithubに要点を作成する

  17. 17

    Javaを使用してヘリウムでブラウザウィンドウを最大化する方法は?

  18. 18

    ブラウザでcypherクエリを使用してpy2neoを使用して作成したノードを表示できません

  19. 19

    ブラウザでXMLをアップロードして解析する方法

  20. 20

    C#を使用してFirefoxブラウザの新しいウィンドウでURLを起動する方法

  21. 21

    Cookieを使用してブラウザウィンドウの変更を目立たなくする

  22. 22

    プロパティを最初のプロパティとして作成する方法(Neo4jブラウザのノードに表示されます)

  23. 23

    gulpを使用してブラウザで更新する方法

  24. 24

    Pyodideで作成したファイルをブラウザでコピー/ダウンロードする方法は?

  25. 25

    Vue / HTML / JSダウンロードタグを使用してファイルをブラウザーにダウンロードする方法

  26. 26

    AWSクラウドですべてのユーザーのサブドメインを作成する方法

  27. 27

    Rscriptコマンドラインツールを使用してブックダウンで本を作成する方法

  28. 28

    ブラウザ化されたノード暗号化モジュールの代わりにWebCryptoAPIを介してブラウザでECDHキーを生成する

  29. 29

    ウェブブラウザなしでグーグルドライブAPIを使用する方法

ホットタグ

アーカイブ