MongoDB用戶認證authSource

文章目錄

  • authSource
  • 遇到的問題

authSource

MongoDB用戶認證邏輯與以往我認知的關系型數據庫邏輯不太一樣,多了一層用戶與數據庫關系的綁定。

  • 在建立用戶時,需要先指定數據庫,則存在一個概念:用戶歸屬于數據庫。額外,依然是可以為用戶賦需要的權限,例如對某個數據庫具有讀、些權限。

  • 在連接時,會根據請求中的authSource參數的值(數據庫)去校驗是否有這樣的用戶在該數據庫下。如果請求url中未攜帶authSource參數,則默認去找admin數據庫。

// 建立用戶
use admin  // 在該數據庫下創建的用戶屬于該數據庫,連接時必須指定認證數據庫。在admin數據庫創建可以管理多個數據庫的用戶
db.createUser({user: "zyRW_admin_zy",pwd: "123456",roles: [{ role: "readWrite", db: "zy" }]
})// 賦權限
db.grantRolesToUser("zyRW", [{ role: "read", db: "local" }
])// 收回權限
db.revokeRolesFromUser("zyRW", [{ role: "read", db: "local" }  // 刪除local庫的讀寫權限
])

遇到的問題

使用mongodb-driver-sync-4.2.1版本的驅動連接不同版本的Mongodb時:

當連接8.0版本的Mongodb時,若用戶歸屬于admin數據庫,authSource參數并未生效;
當連接8.0版本的Mongodb時,若用戶歸屬于zy數據庫,authSource參數生效; (結合上述測試,懷疑是先去admin數據庫找用戶,若未找到,則在參數配置的數據庫找用戶,待驗證)
當連接4.0版本的Mongodb時,無論用戶歸屬于什么數據庫,authSource參數均生效。

當給連接驅動升級到適配8.0版本的Mongodb時不存在該問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91514.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91514.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91514.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

插件升級:Chat/Builder 合并,支持自定義 Agent、MCP、Rules

TRAE 插件全新升級,Chat、Builder 合并,支持自定義智能體、MCP 及自定義規則,體驗對齊 IDE,現已上線 JetBrains 和 VSCode。 1. Chat/Builder 合并,一個對話框即可智能協作 在 TRAE 插件的 Chat 對話框中&#xff0…

【歷史人物】【王安石】簡歷與生平

目錄 一、王安石個人簡歷 二、個人主要經歷 三、個人成就及影響 1、散文 2、詩歌 3、詞 四、經典評價摘錄 一、王安石個人簡歷 基本信息? 姓名:王安石,字介甫,號半山。小名獾郎 性別:男 年齡:1021年-1086年…

Codeforces Round 1040 (Div. 2) A - D題詳細題解

本文為Codeforces Round 1040 (Div. 2) A - D題的詳細題解, 覺得有幫助或者寫的不錯可以點個贊! 目錄 題目A: 題目大意: 解題思路: 代碼(C): 題目B: 題目大意: 解題思路: 代碼(C): 題目C: 題目大意: 解題思路: 代碼(C): 題目D: 題目大意: 解題思路:…

數據結構 之 【排序】(計數排序)

目錄 1.計數排序的思想 2.計數排序圖解 3.計數排序代碼邏輯 3.1求原數組最大最小值及計數數組的創建 3.2計數 3.3覆蓋寫 3.4釋放資源 4.計數排序的注意事項 5.計數排序的時間復雜度與空間復雜度 以升序為例 1.計數排序的思想 前面我們學習的快排、歸并排序、希爾排序.…

Ascend CANN/ACL API 模型部署加速最佳實踐

1. 模型輸入相關問題 圖像尺寸信息 模型輸入尺寸由原始模型決定,在轉換時固定 圖像尺寸信息是模型固有屬性,不是轉換時添加的 對于使用動態尺寸,可以在推理時自動根據當前的輸入尺寸推導輸出尺寸。 輸入格式(NCHW/NHWC) --input_format 不同框架默認格式不同: Caffe: 支持…

QT信號和槽怎么傳輸自己定義的數據結構

在 Qt 中,信號(Signal)和槽(Slot)機制默認支持許多內置類型(如 int、QString、QList 等),但如果要傳輸 自定義數據結構(如結構體、類對象),需要額…

借助于llm將pdf轉化為md文本

pdf轉化為md格式后,意味著非結構化文本轉為結構化文本,能清晰定位大標題、子標題,圖表。 方便后續處理,因為llamaindex和langchain能更有效切分md類文本,避免信息丟失。 1)讀取pdf為txt 讀取pdf&#xf…

設計模式:中介者模式 Mediator

目錄前言問題解決方案結構代碼前言 中介者是一種行為設計模式,能讓你減少對象之間混亂無序的依賴關系。該模式會限制對象之間的直接交互,迫使它們通過一個中介者對象進行合作。 問題 假如你有一個創建和修改客戶資料的對話框, 它由各種控件…

計算機基礎速通--數據結構·線性表應用

如有問題大概率是我的理解比較片面,歡迎評論區或者私信指正。 考察線性表,核心圍繞其存儲結構特性、核心操作實現、場景應用選型三大維度,重點檢驗對基礎概念的理解、代碼實現能力及問題分析能力,通常會結合算法設計、復雜度分析和…

LeetCode Hot 100:42. 接雨水

題目 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。 解析 和題目 盛水最多的容器 類似, LeetCode Hot 100:11. 盛最多水的容器-CSDN博客 只是這里將每一個柱子視為一個寬度為…

【C語言入門級教學】字符指針變量

文章目錄1.字符指針變量2. 數組指針變量2.1 數組指針變量初始化3.?維數組傳參的本質1.字符指針變量 在指針的類型中我們知道有?種指針類型為字符指針 char* ; ?般使?: int main() { char ch w; char* pc &ch;//pc的類型是char**pcw;//對pc解引用 修改ch存放的內容…

【Shell腳本自動化編寫——報警郵件,檢查磁盤,web服務檢測】

Shell腳本自動化編寫Shell腳本自動化編寫一、判斷當前磁盤剩余空間是否有20G,如果小于20G,則將報警郵件發送給管理員,每天檢查一次磁盤剩余空間。第一步:準備工作第二步:配置郵件信息第三步:檢查磁盤的自動…

Java 接口(下)

三、接口的繼承性【基礎重點】 1. Java中的接口之間的繼承關系是多繼承,一個接口可以有多個父接口(1) 語法:interface 接口名 extends 父接口1,父接口2{} 2. 類和接口之間是多實現的關系:一個類可以同時實現多個接口(1) 語法:clas…

學習游戲制作記錄(各種水晶能力以及多晶體)8.1

1.實現創建水晶并且能與水晶進行交換位置的能力創建好水晶的預制體,添加動畫控制器,傳入待機和爆炸的動畫創建Crystal_Skill_Control腳本:掛載在水晶預制體上private float crystalExstTime;//水晶存在時間public void SetupCrystal(float _c…

在vscode 如何運行a.nut 程序(Squirrel語言)

在 VS Code 中運行 Squirrel 語言編寫的 .nut 程序,需要先配置 Squirrel 運行環境并安裝相關插件,具體步驟如下: 一、安裝 Squirrel 解釋器 Squirrel 程序需要通過其官方解釋器 squirrel 或 sq 執行,首先需要安裝解釋器&#xf…

【數據結構】生活中的數據結構:從吃飯與編程看棧與隊列思維

生活中的數據結構:從吃飯與編程看棧與隊列思維 在軟件開發的世界里,棧(Stack)和隊列(Queue)是兩種基礎的數據結構,它們以不同的順序管理數據:棧遵循后進先出(LIFO&#x…

牛客——接頭密匙

題目鏈接:牛客--接頭密匙 該題是一個很顯然的前綴樹問題,只需要構建a中所有數組對應的前綴樹,之后求b所處前綴個數即可。關于前綴樹的構建,可以觀看左老師算法講解045的視頻,簡單來講就是用特殊字符將實際數據隔開&…

【Linux基礎知識系列】第六十三篇 - 文件編輯器基礎:vim

在 Linux 系統中,文本編輯器是系統管理員和開發人員不可或缺的工具。vim 是一個功能強大的文本編輯器,廣泛應用于 Linux 系統中。它支持多種編輯模式,提供了豐富的文本編輯功能,適用于編寫代碼、配置文件和文檔。掌握 vim 的基本使…

音頻驅動的視覺特效:粒子、動畫與Shader的融合技術

音頻驅動視覺效果的實現與應用1. 引言在互動媒體、游戲和數字藝術領域,音頻數據實時控制視覺元素已成為核心技術,它能創造沉浸式體驗,增強用戶參與感。例如,音樂會可視化或VR游戲中,音頻信號驅動粒子流動、動畫變化和S…

機器學習環境配置

【終極指南】吃透機器學習環境配置:從Conda、CUDA到Docker容器化 大家好!在機器學習的旅程中,一個穩定、可復現的環境是成功的基石。 第一部分:核心理念——為何環境配置如此重要? 任何機器學習模型的運行,…