Expressを使用してnodeJSに管理パネルを実装するにはどうすればよいですか?

シャラド・クマール

nodeJSとexpressでポートフォリオアプリケーションを作成しています。スキル、経験などを作成、削除、更新、編集できる管理パネルを実装したいのですが、それらの管理ルートを秘密に保つ方法と、どのような認証を行うことができるかわかりません。 post、patch、deleteルートに基本認証を設定してから、ルートに基本認証を実装する方法を説明します。

index.js

const express = require('express');
const app = express();
var cors = require('cors');

require('./db/mongoose')
const menuRouter = require('./routers/menu')
const skillRouter = require('./routers/skill')
const aboutRouter = require('./routers/About')
const experienceRouter = require('./routers/Experience')
const resumerouter = require('./routers/Resume')
const userRouter = require('./routers/user')
const port = process.env.PORT || 4000;
app.use(express.json());
app.use(cors());

app.use(menuRouter);
app.use(skillRouter);
app.use(aboutRouter);
app.use(experienceRouter);
app.use(resumerouter);
app.use(userRouter)
app.listen(port, () => {
    console.log("Server is runing on port" + port)
});

スキル.js

const express = require('express');
const Skill = require('../model/skill');
const router = new express.Router();
router.post('/skill', async (req, res) => {
    const skill = new Skill(req.body);

    try {
        await skill.save();
        res.status(201).send(skill);
    } catch (e) {
        console.log(e);
        res.status(400).send(e);
    }

})
router.get('/skill', async (rq, res) => {

    try {
        const skill = await Skill.find({});
        res.status(201).send(skill);
    } catch (e) {
        res.status(400).send(e);
    }


})

module.exports = router;
バレクサンドル

コメントで指定されているように、私はあなたのコードを少しリファクタリングします、厄介なようです、そしてあなたはルートをインポートするすべての行を繰り返すので、あなたもそれをも​​っとうまくやるべきです...

他のStackOverflowの質問のために作成デモリポジトリのコンテンツを含むindex.jsファイルを/routersフォルダーに入れます

次に、物事を分離するために、私は次のようなことをします:

const routes = require('./routes')
...
const protectRouteWithApiKey = (req, res, next) => {
    const auth = req.headers['x-apikey']
    if (auth && auth === '<YOUR API KEY>') return next()
    return next(new Error('403 | Authorization is missing or value is wrong'))
}
...
app.use('/api', protectRouteWithApiKey, routes) // point to your routes and protect access
app.use('/', defaultEngine) // your engine to render html

そうすれば、保護されたルート/api/*と他のすべての通常のルートができます

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

JavaSwingライブラリを使用してズームパネルを実装するにはどうすればよいですか。

分類Dev

C#を使用してパネルを非表示にするにはどうすればよいですか?

分類Dev

複数のReactReduxコンポーネントにrequestAnimationFrameを使用してゲームループを実装するにはどうすればよいですか?

分類Dev

ジェネレーター関数を使用してサイクルスルー配列を実装するにはどうすればよいですか

分類Dev

ネイティブJSコードを使用してAngularでアイドル時間を実装するにはどうすればよいですか?

分類Dev

kthreadsを使用して補完を適切に実装するにはどうすればよいですか?

分類Dev

`splitAt`を使用してVecに` rotate`関数を実装するにはどうすればよいですか?

分類Dev

Javaを使用して特定のUMLを厳密に実装するにはどうすればよいですか?

分類Dev

Volleyを使用してAndroidにログインを実装するにはどうすればよいですか?

分類Dev

JavaScript を使用して Div 内に Div を実装するにはどうすればよいですか?

分類Dev

Angularルートパラメータを使用してユニットテストを適切に実装するにはどうすればよいですか?

分類Dev

Laravel:Voyager管理パネルでアラートを使用するにはどうすればよいですか?

分類Dev

JDBCと接続プールを使用してDAOマネージャーを実装するにはどうすればよいですか?

分類Dev

ネイティブJavaScriptを使用して無限スクロールを実装するにはどうすればよいですか?

分類Dev

aspを使用してHTMLパネルを変更するにはどうすればよいですか:LinkButton

分類Dev

QAF APIを使用してGherkinに実装されたステップの応答データを管理するにはどうすればよいですか?

分類Dev

Vue.jsを使用してこれを実装するにはどうすればよいですか?

分類Dev

静的/シングルトンデザインパターンを使用してこれを実装するにはどうすればよいですか?

分類Dev

django-adminパネルまたは管理者アカウントを使用してFirebase通知を送信するにはどうすればよいですか?

分類Dev

C ++を使用してmatlabでuniqueの動作を実装するにはどうすればよいですか?

分類Dev

Kotlinでnull可能な「beanName」を使用してBeanPostProcessorを実装するにはどうすればよいですか?

分類Dev

Cで連分数を使用して自然対数を実装するにはどうすればよいですか?

分類Dev

AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

分類Dev

式でCOUNT()を複数回使用してOVERを実装するにはどうすればよいですか?

分類Dev

KotlinでFirebaseを使用して電話認証を実装するにはどうすればよいですか?

分類Dev

RustでWindowsIOCPを使用して非同期関数を実装するにはどうすればよいですか?

分類Dev

引数を使用してLuaでrfindを実装するにはどうすればよいですか?

分類Dev

JavaでHashMapを使用してスタックを実装するにはどうすればよいですか?

分類Dev

ajaxを使用してDjangoで編集を実装するにはどうすればよいですか?

Related 関連記事

  1. 1

    JavaSwingライブラリを使用してズームパネルを実装するにはどうすればよいですか。

  2. 2

    C#を使用してパネルを非表示にするにはどうすればよいですか?

  3. 3

    複数のReactReduxコンポーネントにrequestAnimationFrameを使用してゲームループを実装するにはどうすればよいですか?

  4. 4

    ジェネレーター関数を使用してサイクルスルー配列を実装するにはどうすればよいですか

  5. 5

    ネイティブJSコードを使用してAngularでアイドル時間を実装するにはどうすればよいですか?

  6. 6

    kthreadsを使用して補完を適切に実装するにはどうすればよいですか?

  7. 7

    `splitAt`を使用してVecに` rotate`関数を実装するにはどうすればよいですか?

  8. 8

    Javaを使用して特定のUMLを厳密に実装するにはどうすればよいですか?

  9. 9

    Volleyを使用してAndroidにログインを実装するにはどうすればよいですか?

  10. 10

    JavaScript を使用して Div 内に Div を実装するにはどうすればよいですか?

  11. 11

    Angularルートパラメータを使用してユニットテストを適切に実装するにはどうすればよいですか?

  12. 12

    Laravel:Voyager管理パネルでアラートを使用するにはどうすればよいですか?

  13. 13

    JDBCと接続プールを使用してDAOマネージャーを実装するにはどうすればよいですか?

  14. 14

    ネイティブJavaScriptを使用して無限スクロールを実装するにはどうすればよいですか?

  15. 15

    aspを使用してHTMLパネルを変更するにはどうすればよいですか:LinkButton

  16. 16

    QAF APIを使用してGherkinに実装されたステップの応答データを管理するにはどうすればよいですか?

  17. 17

    Vue.jsを使用してこれを実装するにはどうすればよいですか?

  18. 18

    静的/シングルトンデザインパターンを使用してこれを実装するにはどうすればよいですか?

  19. 19

    django-adminパネルまたは管理者アカウントを使用してFirebase通知を送信するにはどうすればよいですか?

  20. 20

    C ++を使用してmatlabでuniqueの動作を実装するにはどうすればよいですか?

  21. 21

    Kotlinでnull可能な「beanName」を使用してBeanPostProcessorを実装するにはどうすればよいですか?

  22. 22

    Cで連分数を使用して自然対数を実装するにはどうすればよいですか?

  23. 23

    AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

  24. 24

    式でCOUNT()を複数回使用してOVERを実装するにはどうすればよいですか?

  25. 25

    KotlinでFirebaseを使用して電話認証を実装するにはどうすればよいですか?

  26. 26

    RustでWindowsIOCPを使用して非同期関数を実装するにはどうすればよいですか?

  27. 27

    引数を使用してLuaでrfindを実装するにはどうすればよいですか?

  28. 28

    JavaでHashMapを使用してスタックを実装するにはどうすればよいですか?

  29. 29

    ajaxを使用してDjangoで編集を実装するにはどうすればよいですか?

ホットタグ

アーカイブ