WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
CmsTop/權(quán)限機制
來自站長百科
基于 MVC(模型-視圖-控制器) 架構(gòu)開發(fā)的 CmsTop,可以非常方便的實現(xiàn)權(quán)限的精確控制。
CmsTop 在架構(gòu)上吸取了傳統(tǒng) PHP MVC 框架的優(yōu)點,同時又針依據(jù) CMS 本身的需求和方便二次開發(fā)的考慮,將代碼層抽象為了三層架構(gòu),即:app(應(yīng)用,或者叫擴(kuò)展)、controller(控制器,分前臺、后臺)、action(動作)。這樣不但有效地解決了當(dāng)應(yīng)用程序規(guī)模過大時的代碼組織問題,方便了二次開發(fā),也為精確的權(quán)限控制打下了基礎(chǔ)。
可以指定編輯部的張三這個編輯有組圖的添加、查看、送審權(quán)限,這便是發(fā)稿員的角色。
從上面這句話中,可以引出如下的概念:
- 權(quán)限:CmsTop 中的權(quán)限是由 應(yīng)用、控制器、動作 這三個要素組成的。以上面為例:組圖 對應(yīng) CmsTop 的 picture 應(yīng)用,而添加、查看 則分別對應(yīng) picture 應(yīng)用中 picture 控制器的 add 動作和 view 動作(這里的控制器都為后臺控制器,下文不再解釋)。一個權(quán)限可以控制(限制)到應(yīng)用,也可進(jìn)一步細(xì)化到控制器、動作,十分靈活。
- 角色:角色是一組權(quán)限的集合,它抽象了一類擁有特定權(quán)限的人。張三就是一個被賦予了發(fā)稿員角色的編輯,或者更細(xì)分一點,可以稱這種人為組圖發(fā)稿員。同理,可以再劃分一個文章發(fā)稿員;權(quán)限再大(多)一點,有所有內(nèi)容模型的管理權(quán)限的,可以建一個總編輯角色,等等。想更改一類人可以做的事情,只需要修改他所屬的角色,賦予或撤銷某個權(quán)限就可以了。
- 部門:部門對應(yīng)了實際工作中的部門劃分,在 CmsTop 中,可以限制某個部門下可以有什么樣的角色。如編輯部下有主編,同時可以劃分新聞頻道、娛樂頻道,每個頻道下又可以有頻道主編、區(qū)塊編輯、發(fā)稿員等等。這樣,在添加管理員時,選擇了所屬部門,就會自動列出該部門下可用的角色,能更方便的控制賬戶的權(quán)限。此外,網(wǎng)站后臺部門劃分和現(xiàn)實工作中對應(yīng)也有助于網(wǎng)站的運營和管理。
- 管理員:張三本人就是一個管理員,他屬于編輯部,從發(fā)稿員這個角色上獲得了組圖的添加和查看權(quán)限。這些就是組成管理員的要素。需要注意的是,上面所說的權(quán)限和角色,都是一種頭銜上的設(shè)置。也就是說,賦予了張三組圖發(fā)稿員的角色,便擁有了添加并查看組圖的能力;但由于并未指定他可以在哪個欄目下添加組圖,所以他還不能在任何一個欄目下添加組圖(除非他擁有特殊角色 ID:roleid=1,默認(rèn)對應(yīng)超級管理員,超級管理員是無視權(quán)限設(shè)置的)。因此,添加管理員時,需要指定給他欄目、頁面、區(qū)塊的管理權(quán)限。
送審是開啟了工作流之后的動作。