使用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.102016-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...