2017-03-25 6 views
1

ニュースのウェブサイトをコーディングすると、記事を投稿した作者だけが編集して削除できるように(これらのボタンはページの下部に表示され、すべてのユーザーに表示されます)。node.jsでの承認

しかし、ログイン/サインアップオプションのない特定のニュース/ウェブサイトがあります。例:http://www.denofgeek.com/us。 認証がないため、許可がないことを意味しますか? 著者の設定が他のユーザーと同じ場合、どのように記事を編集/削除できますか?

コード:

app.get("/blog/:id/:title/edit", function(req,res) { 
Blog.findById(req.params.id, function(err, foundBlog) { 
    if(err) { 
     res.redirect("/blog"); 
    } else { 
     res.render("editBlog", {blog : foundBlog}); 
    } 
    }) 
}) 

//UPDATE BLOG 
app.put("/blog/:id/:title", function(req,res) { 
    req.body.blog.body = req.sanitize(req.body.blog.body); 
    Blog.findByIdAndUpdate(req.params.id, req.body.blog,{new: true}, function(err,updatedBlog) { 
     if(err) { 
      res.redirect("/blog"); 
     } else { 
      res.redirect("/blog/" + req.params.id + "/" + req.params.title); 
     } 
    }) 
}) 

がどのように私は私が認証を使用しない場合は、記事を削除/編集に取り掛かる必要がありますか?

P.S:もちろん、ページに表示される編集と削除ボタンを削除し、PUTとDELETEリクエストをPostman経由で送信できますが、明らかに悪い考えです!

答えて

1

あなたが言ったウェブサイトを行った後、ユーザーのための1つを持っていて、1つは管理者がログインして新しいページを追加して古いページを追加できるようにするためのものです。

認証なしでは、特定のユーザーに対して編集/削除を行うことはできません。

投稿者のための別のパネルを作成してログインページを設定して、承認されたユーザーだけがページに入り、削除/更新の機能を実装することができます誰かがあなたのapiについて知りたがっている場合は、それがトークンを持っていない限り編集できません。jsonwebtokenを使って認証を実装することができます。

これが役に立ちます。

+0

ユーザーと管理者がログイン/サインアップボタンを使用していない場合、どのように設定を変えることができますか?著者のためだけの別のドメイン(admin.denofgeek.comなど)があるかもしれないと言いたいのですか?神様...私はどこから始めるべきか分からない!私はパスポート経由の認証を設定していますが、認可の部分に問題があります! – eknoor4197

+0

はい、そのようなものは、あなただけの[リンク](http://www.denofgeek.com/admin)のようなURLを作ることができる別のドメインを作成する必要はありませんuserNameとパスワードで認証することができます投稿の編集/削除が可能なセクションを投稿者に表示させることができます。 –

+0

可能であれば、SOのチャットルームに私を招待できますか?私はこの管理インターフェースのことに悩まされるといつでも尋ねることができますか?コメントは痛みです。 – eknoor4197