一般後台管理使用者和會員使用者是否要分開?

來源:互聯網
上載者:User
關鍵字 許可權控制 php
如題,一般後台管理使用者和會員使用者是否要分開,分成兩張使用者表,一個會員使用者表,一個管理使用者表,如果只用一張表可以嗎,哪個更好

回複內容:

如題,一般後台管理使用者和會員使用者是否要分開,分成兩張使用者表,一個會員使用者表,一個管理使用者表,如果只用一張表可以嗎,哪個更好

謝邀!

我的職業生涯中幾乎所有的前後台管理會員都是分開的,大部分做的都是互連網產品,我覺得我可以總結出幾點為什麼要這麼做:

  1. 業務需求:一般總管理後台都是公司內部使用,不牽涉第三方使用者,假設真有第三方的分銷商、代理商之類的也會開發一個專門的使用者後台

  2. 安全需求:安全在業界達成共識的是沒有絕對的安全,那麼就要儘可能的考慮病增加被黑的難度,第一層就是把管理後台藏起來(限制IP、不用常用網域名稱、目錄等),第二層就算髮現了也盡量不要用弱密碼,加驗證碼防暴力破解之類的,然後再其他層面問題,可能還會存在分開部署的需求,獨立的話更容易擴充一些滿足更多的需求

這是個常見的疑問,也是個好問題。

技術決策沒有一定之規。實際上這兩種實踐都是存在的,也都有不少優秀的應用執行個體。

一個系統總需要解決驗證鑒權,即“你是不是聲稱的這個人”和“這個人是否可以做這件事”兩個問題。

從這個角度來看,根據使用者身份進行劃分,來確定使用者的許可權範圍,這隻不過是實現“鑒權”這個目的的可行方法之一,並無什麼神秘之處。

管理員/使用者分表,這是劃分使用者身份的一個相當粗暴的二分手段。其特點是:

  • 非己即彼,兩者之間存在著不可逾越的鴻溝,幾乎無法切換身份

  • 二者能做的行為之間,幾乎不存在產生關聯的交叉地帶,非黑即白

  • 甚至二者的介面都不用一套

  • 【重要】以上的特性確定下來了就不會再改變

如果你的需求符合以上特點,那麼分表就是可以的。否則就不應該分。

但必須指出的是:分表能實現的許可權控制,不分表一般都是能做到的。所以為了保留靈活性起見,一般不分表是個好選擇,尤其是對於新寫的程式(需求可能有頻繁變更)更是如此。

樓上的都說得非常精彩。
我站在資料的角度說說我的看法。

開發中,經常有這樣的情況,開始建了一張表用於存資料A,後面的開發,接到需求,定義了資料結構,然後發現和這張表就幾個欄位不一樣,然後加上幾個欄位,就把資料B也存在這個表裡了。

這樣,最終將搞亂一切。

所以,我的觀點的,一個表只存一個資料,保持一致性,減少後期犯錯的機會。男人就只能進男廁所。

如果鑒權方式相同, 我覺得存一張表方便.
如果鑒權方式都不相同, 那麼還是儲存兩張表好一點

管理員與會員帳號應該分開儲存,管理員要做普通帳號的功能操作,應該用一個普通會員的帳號來操作,不然系統是處理許可權的時候就要用預設規則, 比如管理員預設覆蓋會員的所有許可權, 但是實際需求可能不是這樣

這種問題還是那個萬金油的答案:看需求,具體問題具體分析。

許可權這個事有幾個粗淺的層級:
1-註冊使用者只有兩種身份:普通使用者、管理員,沒有更詳細的許可權管理了,這種你分不分表都一樣。
2-對註冊使用者中至少一種類型的使用者需要進行許可權管理:從邏輯上說,既然需要進行許可權管理了,那就不分表,統一邏輯更容易開發和維護
3-不同使用者類型的許可權管理方式是不一樣的:能不分就不分,但是如果分表可以大大降低系統複雜度,那就分。比如通常的許可權是TrueFalse判定,但是可能項目要求使用者按vip等級管理,1級最大上傳10照片,2級最大上傳50張照片這種非TrueFalse判定,非要放在一起可能就很麻煩了,可以考慮分表。

當然從另一個角度來說,開發人員說了我就要分(或者我就不分),反正我能實現要求,再麻煩我樂意。你能怎麼滴?

還是一句話,看個人或需求
如果管理員和會員的鑒權方式一樣,可以放在一起,不一樣最好分開放
對於個人角度來說,我一般不會把使用者展示和管理頁面寫在一起,避免驗證

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.