国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

如何在一個(gè)系統(tǒng)中設(shè)計(jì)權(quán)限控制機(jī)制(3)

2019-11-17 06:33:14
字體:
供稿:網(wǎng)友

在第一節(jié)中,我提出了一個(gè)最原始的需求,并定義了幾個(gè)接口。

在第二節(jié)中,我對這個(gè)需求進(jìn)行了一些細(xì)化,設(shè)計(jì)了一個(gè)數(shù)據(jù)結(jié)構(gòu)和一些基本的操作,可以滿足一些低層次的需求。在和 babituo 的討論中,他給我提出了一些更為具體和現(xiàn)實(shí)的需求,我想有必要再進(jìn)一步進(jìn)行抽象和設(shè)計(jì)。Babituo提到“如何針對動態(tài)創(chuàng)建的一篇文章進(jìn)行權(quán)限的控制”,及其他一些概念對我很有啟發(fā)。

目標(biāo):簡單的核心、簡單的定制(程序或是配置)、對于常見的情況會有通用的模板。簡單的修改可以應(yīng)付復(fù)雜的需求。學(xué)習(xí)struts。

首先是三個(gè)基本的元素:操作者(主)、操作(謂)、資源(賓)。

操作者指的是發(fā)出動作的主體,不一定指具體的人,也可以指一組人,或是指系統(tǒng)中的一個(gè)模塊,它應(yīng)該是系統(tǒng)唯一的,具有唯一的ID值。

操作指對資源進(jìn)行的動作,比如說打開、顯示等,同樣必須具有唯一的ID值。

資源指被操作的對象,可以指單個(gè)對象,比如某個(gè)菜單項(xiàng);也可以指某組對象,比如某組菜單。當(dāng)然這個(gè)某組菜單表現(xiàn)出來的也是單一的一個(gè)對象。

 

操作者權(quán)限的繼續(xù)

操作者的父級的權(quán)限是能被下級所繼續(xù)的,比如“小王”是“研發(fā)中心”的員工、那么除非明確說明某些權(quán)限是小王禁止使用的,研發(fā)中心所有的權(quán)限,小王都有。這里的繼續(xù)不是類的繼續(xù),而只是業(yè)務(wù)方面的一個(gè)繼續(xù)或是包含的關(guān)系。

新建資源的權(quán)限分配,例如:新建文章的操作權(quán)限問題

對于新建的文章一般創(chuàng)建者會具有對這篇文章的所有操作權(quán)限,所以我設(shè)計(jì)兩個(gè)類:新聞類NewsType和新聞類文章類News。新聞類只有一個(gè)實(shí)例:newsType,它的子女“新聞A NewsA”是對象是“新聞News”的實(shí)例。這里子女NewsA并沒有從父親newsType中繼續(xù)什么功能。“新聞類”具有一接口init(),表明每生成一個(gè)實(shí)例,就進(jìn)行一些初始化操作,這里我們可以定義自動將實(shí)例的操作權(quán)限賦給創(chuàng)建者。當(dāng)然,這需要定制程序。

新建的操作者的權(quán)限分配

這個(gè)和新建資源的權(quán)限分配類似,對于某操作者類會有一接口init(),描述新建一個(gè)實(shí)例時(shí)所要進(jìn)行的操作。

操作的組合

例如對于一篇文章的查看、修改、刪除操作統(tǒng)稱為對一篇文章的治理操作,具有對一篇文章治理操作的權(quán)限同時(shí)也具有對這篇文章查看、修改、刪除的權(quán)限。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天水市| 上犹县| 嘉祥县| 合江县| 班戈县| 寿阳县| 乳山市| 建昌县| 河曲县| 滨州市| 若羌县| 望城县| 合阳县| 米泉市| 赤城县| 怀来县| 兴文县| 华容县| 焦作市| 德清县| 昭苏县| 池州市| 库尔勒市| 萨迦县| 余庆县| 衡阳市| 荃湾区| 荣成市| 长寿区| 岚皋县| 金山区| 信丰县| 锡林郭勒盟| 遂川县| 泰来县| 静乐县| 濮阳市| 桃园市| 浏阳市| 五常市| 宣城市|