2017-08-15 254 views
1

爲每個java應用程序用戶或具有用戶名和密碼的用戶表創建postgresql登錄角色會更好嗎?登錄角色vs用戶密碼錶

在情況二,如何登錄到數據庫用戶名和密碼存儲在一張桌子上?

回答

0

PostgreSQL的角色,現在概念上同樣的事情,你有什麼建議,用戶密碼:

https://www.postgresql.org/docs/8.1/static/user-manag.html

角色的概念是包含「用戶」和「組」的概念。在8.1之前的PostgreSQL版本中,用戶和組是不同種類的實體,但現在只有角色。任何角色都可以充當用戶,組或兩者的角色

數據庫角色在概念上與操作系統用戶完全分離。在實踐中,保持通信可能是方便的,但這不是必需的。數據庫角色在數據庫集羣安裝(而不是每個單獨的數據庫)中是全局的。要創建角色,請使用CREATE ROLE SQL命令

爲了引導數據庫系統,新初始化的系統始終包含一個預定義角色。此角色始終是「超級用戶」,默認情況下(除非在運行initdb時進行更改),它將與初始化數據庫羣集的操作系統用戶具有相同的名稱。習慣上,這個角色將被命名爲postgres。爲了創建更多的角色,你首先必須連接作爲這個初始角色。

與數據庫服務器的每個連接都以某個特定角色的名稱進行創建,該角色確定在該連接上發出的命令的初始訪問權限。用於特定數據庫連接的角色名稱由以特定於應用程序的方式啓動連接請求的客戶端指示。例如,psql程序使用-U命令行選項來指示要連接的角色。許多應用程序默認使用當前操作系統用戶的名稱(包括createuser和psql)。因此,維護角色和操作系統用戶之間的命名對應通常很方便。

+0

儘管此鏈接可能會回答問題,但最好在此處包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17043226) –

+0

你是對的。固定。 –

0

只要你沒有非常複雜的bussines邏輯,登錄角色應該沒問題。如果你用表和用戶名和密碼,你需要輔助表來存儲撥款和程序來管理權利,這將需要很多工作。