以前,在使用關係型資料庫時,沒有使用者名稱和密碼我們是不能訪問資料的。但是在MongDB中,預設不需要使用使用者名稱和密碼就可以訪問資料庫,並且可以進行各種操作。這樣是雖然利於初學者,但是很不安全的。所以,今天說一下MongDB的串連安全問題。
首先,之所以能夠不使用使用者名稱和密碼就能串連,是因為我們在啟動MongoDB服務的時候,沒有設定許可權認證。
1、不用使用者名稱和密碼就能訪問的啟動方式:
mongod --dbpath c:\mongo_data --logpath c:\mongo\logs\logs.txt
只需要給出--dbpath和logpath即可
2、需要使用者名稱和密碼的啟動方式:
mongod--dbpath c:\mongo_data --logpath c:\mongo\logs\logs.txt -auth
需要加上-auth(cateauthentication認證的意思)
想要使用使用者名稱和密碼登陸,就必須有使用者名稱和密碼,而我們要在哪裡設定使用者名稱和密碼呢?
首先以非認證方式(不需要使用者名稱和密碼)登陸系統,然後我們可以看到預設系統給出了幾個庫,其中有localhost和 admin,當然我們也可以建立庫。
每個庫都有自己的使用者表,admin庫的使用者擁有其他的所有許可權。所以,初學階段我們使用在admin庫中添加使用者,真正使 用的時候,使用各個庫自己的使用者。
添加使用者圖片
兩種不同的串連資料庫方式
1、不使用使用者名稱和密碼:
Mongo m = new Mongo("localhost",27017); //預設訪問本地的27017連接埠
2、使用使用者名稱和密碼:
Mongo m = new Mongo("localhost",27017);
booleanauth = db.authenticate(userName, password);
通過這樣的方式,我們大概瞭解了如何讓自己的MongoDB串連變得安全。後續會介紹MongDB的使用串連池的相關內容來瞭解高效串連。