mgo 連線需要授權登入的mongodb

2021-07-23 07:42:46 字數 2533 閱讀 5825

使用golang mgo連線到需要授權登入的mongodb

windows 7, virtualbox, ubuntu 16.04lts
安裝[virtualbox]

安裝虛擬機器[ubuntu]

安裝golang

sudo apt-get update

sudo apt-get install golang

安裝mongodb

sudo apt-get install mongodb

mogod --version

db version v2.6.10

2016-09-29t16:54:46.199+0800 git version: nogitversion

2016-09-29t16:54:46.200+0800 openssl version: openssl 1.0.2g 1 mar 2016

上面步驟安裝mongdb結束之後會自動啟動

ps -aef | grep mongod
mongodb 626 1 0 01:05 ? 00:05:01 /usr/bin/mongod –config /etc/mongodb.conf

可以看到mongod使用/etc/mongdb.conf啟動

sudo vi /etc/mongodb.conf

15 #journal=true

16 17 # enables periodic logging of cpu utilization and i/o wait

18 #cpu = true

19 20 # turn on/off security. off is currently the default

21 #noauth = true

22 auth = true

上面是我修改後的,改動了bind_ip, auth

但是改動之前,需要首先建立乙個管理員賬號,否則auth實際上是不起作用的

使用mongo連線本機資料庫,新增管理員賬號

mongo

use admin

db.adduser()

quit()

sudo service mongodb stop

這樣在新增了管理員賬號之後,將預設方式啟動的mongodb服務停止

ps -aef | grep mongodb
修改/etc/mongodb.conf

如果bind_ip127.0.01只能本虛擬機器訪問

可以更改預設資料庫檔案目錄,但是需要保證mongodb有許可權rw

最重要的需要把auth=true

service mongodb start

mongo -u "useryouadd" --authenticationdatabase admin -p

輸入剛剛設定的密碼,看看是否可以連線上

sudo apt-get install golang

cdmkdir gotest

export gopath=`pwd`

go get gopkg.in/mgo.v2

echo "export gopath=`pwd`"

上面命令執行結束,golang,mgo都已經安裝好了

cd $gopath

mkdir mtest

cd mtest

mgo 提供了幾個建立session的介面,我使用了dialwithinfo

package main

import (

"fmt"

"gopkg.in/mgo.v2"

"gopkg.in/mgo.v2/bson"

"time"

)func main() ,

direct: false,

timeout: time.second * 1,

database: "yourdatabase",

source: "admin",

username: "username",

password: "password",

poollimit: 4096, // session.setpoollimit

}session, err := mgo.dialwithinfo(dialinfo)

if nil != err

defer session.close()

}

未完...

如何通過postman測試需要登入授權的介面

請求需要登入授權的介面,就意味著你要傳token給介面,所以請求介面 要測試的介面 之前就要先獲取token,因為登入成功後服務端才會返回token,而token又設定了時效,所以每次請求介面 要測試的介面 前最好能自動獲取到最新的token,那麼只能每次請求需要登入授權的介面之前先請求登入介面,這...

IT技術需要授權的模版

自行車前燈 伸縮變焦強光手電筒 強光電筒批發 強光充電led手電筒 w212公升級版調焦5w雙光源釣魚手電筒 實木大床1.8公尺帶柱古典款 實木床 1.8公尺大床 a806 軟靠 實木床 a118 白色2公尺長實木大床 亞麻棉布面料 肌理亞麻經緯竹節布料 棉布 縐布 古樸藝術家時尚風格 多色可選 人...

Cassandra的登入認證授權

cassandra的登入驗證機制是獨自的,資料是集群共享的 參考 1 初始安裝啟動後登入是這個樣子的 2 在關係型資料庫中,我們一般都有使用者名稱,密碼登陸,那麼 cassandra如何配置後,必須使用使用者名稱密碼登陸呢.很簡單,修改配置檔案 cassandra.yaml vim confg ca...