Как создать аутентификацию MongoDB в базе данных? - PullRequest
0 голосов
/ 27 августа 2018

Я хочу реализовать аутентификацию на MongoDB перед доступом к базе данных.Как и в MYSQL, мы должны создать имя пользователя и пароль для конкретной базы данных в PHP.

Теперь я хочу реализовать те же протоколы на MongoDB.Я хочу знать, как мы можем создать имя пользователя и пароль для базы данных MongoDB, чтобы при генерировании запроса от моего сервера узлов мне приходилось передавать учетные данные, без учетных данных они должны были выдавать ошибку.Любое предложение учебника действительно ценится, или у кого-то есть лучшая идея поделиться вещами.Я хочу только, чтобы моя база данных отвечала только на подлинный или доверенный сервер, а не на другие.

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

При использовании экспресс вы можете создать промежуточное программное обеспечение для аутентификации.Например, вы можете проверить допустимый веб-токен json, если используете эту реализацию.

Синтаксис для доступа к базе данных будет:

app.get(«/api/db», authMiddleware, async (req, res) => {
    const db = Db.find();
}

Где authMiddleware - экспортируемая функция, которую вы реализуете сами, на основекакую проверку вы хотите, а db - это тот, который вы пытаетесь получить, например, категории или проекты или что-то подобное.

Если у вас есть несколько промежуточных программ, вы можете просто добавить их в виде массива, например:

app.get(«/api/db», [middleware1, middleware2], async (req, res) => {})

При этом вы можете, например, сначала проверить, вошел ли пользователь в систему, а затем проверить, является ли этот пользователь администратором.Обратите внимание, что этот подход запрещает доступ к вашей конечной точке API, но поэтому запрещает доступ к базе данных, доступ к которой осуществляется через эту конечную точку.

0 голосов
/ 27 августа 2018

db.createUser ({user: "user_name", pwd: "pass_word", role: [{role: "readWrite", db: "database_name"}]})

записатьВыше запрос в вашей оболочке БД.Но не забудьте использовать встроенные роли в соответствии с вашим использованием

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...