2014-06-24 34 views
1

不幸的是,這個問題可能有點寬泛,因爲我無法制定出合適的術語來幫助我將所有這些結合在一起。我對PHP/SQL非常陌生,我試圖用非常簡單的登錄/註冊功能建立一個最小的站點。MySQL應用程序用戶vs數據庫用戶

  • 我是否應該在每次註冊新的Web用戶時創建一個新的數據庫用戶?
  • CRUD權限是否可以安全地提供給網站的所有用戶?

我真的應該讓一個數據庫用戶註冊,一個只能插入到用戶表和其他東西,直到他們登錄(不需要密碼mysqli_connect())?

登錄後,他們將連接到不同類型的數據庫用戶,其中一個用戶擁有更多使用該網站的權限。

  • 應該有多少種不同類型的DB用戶?

我假設DB工作者的一小部分用戶(包括一個用於根訪問的用戶),另一個用於每種類型Web用戶的組(即僱主比僱員擁有更多特權),另一個受限用戶僅用於註冊。

  • 總而言之,在一個小型網站中> 10個DB用戶是不尋常的嗎?
  • 是否存在與擁有多種類型用戶相關的性能/空間成本?

我很感謝任何迴應和鏈接,並且如果這些都是非常基本的問題,請致歉。

+2

您不應該授予用戶數據庫級別的帳戶。你認爲你是否擁有amazon.com數據庫的登錄權限,僅僅是因爲你是他們的客戶之一?魔獸世界數據庫? IRS數據庫等...? –

+0

好的,但是如果我正在更新他們的數據庫,我必須登錄某種特權帳戶否? – Richard

+2

是的。該帳戶可以具有更改/刪除/所需的任何權限。但用戶從不需要知道有關該帳戶的任何信息。他們以用戶「xyz」登錄該網站。但在後臺代碼以用戶「pqr」登錄到mysql。 xyz業務對於mysql沒有任何意義。這只是用戶表中的一些字母。然而,pqr是一個全面的mysql賬戶。 –

回答

1

我一直在努力,所以會發佈一個答案,如果它對剛剛開始的任何其他人有用。

每當我註冊一個新的Web用戶時,我應該創建一個新的數據庫用戶嗎?

不,數據庫用戶通過他們的權限進行區分。因此,所有用戶都符合一組具有不同權限級別的組。數據庫帳戶與網絡帳戶是分開的 - 連接到數據庫在幕後完成,並且沒有鏈接到正在使用的網絡帳戶。

CRUD特權是否可以安全地提供給網站的所有用戶?

有多少不同類型的DB的用戶應該有?

這個數字取決於你的數據庫。一般來說,有4 groups

  • 數據庫管理員
  • 數據庫設計
  • 休閒終端用戶
  • 本地終端用戶

但是,如果要授予表級別的權限,則可能需要多分一點。這將暗示10個DB帳戶是相當小的數量,several hundred is more likely

特權越多,需要的空間就越多,但這只是一個相當微小的考慮因素,不應該在性能方面發揮重要作用。

相關問題