EN

Search
Close this search box.

موستانگ، وحشیِ دوست داشتنی

پاسخ داده شد
0
0

چطور برای دیتابیس خود یک user و pass تعریف کنیم و در برنامه مان به آن وصل شویم؟

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
0
0

اول از همه به یاد داشته باشید که:

حتماً ، حتماً ، حتماً برای database خود user و password تعیین کنید!

در غیر اینصورت، هر کسی می تواند پایگاه داده شما را دستکاری کند!

1- ابتدا وارد mongo shell شوید و سپس با دستورات زیر، یک user بسازید و به آن roll اختصاص دهید:

mongo
use admin
db.createUser(
 {
 user: "mdbadmin",
 pwd: "password",
 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
 )

به جای mdbadmin و password ، نام کاربری و رمز مورد نظر خود را قرار دهید و در قسمت db: "admin" هم به جای admin ، نام دیتابیسی که می خواهید این یوزر به آن دسترسی داشته باشد را بنویسید.

2- Authentication را فعال کنید:

دستور زیر را بزنید (اگر ویرایشگر nano را ندارید، با sudo apt-get install nano آن را نصب کنید، این پست را ببینید)

sudo nano /lib/systemd/system/mongod.service

سپس خط زیر را پیدا کنید:

Environment="OPTIONS=--f /etc/mongod.conf"

و auth-- را به آن اضافه کنید. بصورت زیر:

 

Environment="OPTIONS= --auth -f /etc/mongod.conf"

3- حالا تغییرات را ذخیره کرده و سرویس mongodb را reastart کنید:

sudo systemctl daemon-reload
sudo systemctl restart mongod

4- یوزری که ساختید را تست کنید:

دستورات زیر را وارد کنید:

mongo
use admin
show users

حالا باید با خطای زیر مواجه شوید:

موستانگ

با دستور زیر و با اطلاعات کاربری که در بالا ساختید، وارد شوید:

db.auth('mdbadmin', 'password')

سیستم باید عدد 1 را به شما نمایش دهد:

موستانگ

حالا کافی است تا مجدد دستور show users را بزنید تا اطلاعات کاربری که ساختید را مشاهده کنید.

5- حالا می توانید با کد زیر در برنامه تان به دیتابیس وصل شوید، تمام!

MongooseModule.forRoot('mongodb://mdbadmin:password@127.0.0.1:27017/admin?authSource=admin&directConnection=true')
  • شما باید برای ارسال دیدگاه شوید
نمایش 1 نتیجه
پاسخ شما
اگر قبلاً حساب کاربری دارید با پر کردن فیلد های زیر یا به عنوان مهمان ارسال کنید.
نام*
ایمیل*
وب سایت