專利名稱::授權(quán)控制方法和授權(quán)服務(wù)器的制作方法
技術(shù)領(lǐng)域:
:本申請涉及計算機
技術(shù)領(lǐng)域:
,尤其涉及授權(quán)控制方法和授權(quán)服務(wù)器。
背景技術(shù):
:在現(xiàn)有互聯(lián)網(wǎng)應(yīng)用系統(tǒng)中通常采用簡單的級別控制方式對用戶進行授權(quán)控制,即對于應(yīng)用系統(tǒng)中的某些內(nèi)容,只要用戶達到系統(tǒng)預(yù)設(shè)的級別就有權(quán)限對該內(nèi)容進行操作。這種級別控制方式也稱為角色/權(quán)限控制方式,以論壇系統(tǒng)為例,通過將某些權(quán)限賦予版主(角色),由版主來關(guān)聯(lián)若干使用該論壇的用戶,對其進行權(quán)限控制?,F(xiàn)有技術(shù)中,在服務(wù)器的權(quán)限列表內(nèi)預(yù)先存儲了授權(quán)系統(tǒng)內(nèi)的所有權(quán)限,該授權(quán)系統(tǒng)可能需要通過服務(wù)器為多個論壇內(nèi)的角色進行授權(quán),當(dāng)服務(wù)器接收到論壇管理員通過授權(quán)界面發(fā)送的為某個論壇內(nèi)的角色進行授權(quán)的命令時,服務(wù)器將權(quán)限列表內(nèi)的所有權(quán)限返回到授權(quán)界面,當(dāng)系統(tǒng)管理員為該角色勾選相應(yīng)的權(quán)限后,選擇的結(jié)果由服務(wù)器接收并保存。在對現(xiàn)有技術(shù)的研究和實踐過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在以下問題現(xiàn)有技術(shù)在為角色進行授權(quán)時,由于權(quán)限表內(nèi)保存的權(quán)限數(shù)量較多,當(dāng)為某個特定論壇的用戶授權(quán)時,服務(wù)器由于直接將所有的權(quán)限返回到授權(quán)界面供管理員選擇,因此增加了管理員的負擔(dān);特別對于大型互聯(lián)網(wǎng)應(yīng)用系統(tǒng),這種直接返回所有權(quán)限的授權(quán)方式,將降低授權(quán)的速度。
發(fā)明內(nèi)容本申請實施例的目的是提供一種授權(quán)控制方法和授權(quán)服務(wù)器,以減輕授權(quán)系統(tǒng)管理員的負擔(dān),提高授權(quán)的速度。為解決上述技術(shù)問題,本申請實施例提供了一種授權(quán)控制方法,是這樣實現(xiàn)的一種授權(quán)控制方法,為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識,所述方法包括接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)所述命令獲取所述角色的源標識;查找所述權(quán)限表,從所述權(quán)限表中獲得源標識與所述獲取的角色的源標識一致的權(quán)限;向所述管理終端返回所述獲得的權(quán)限。為解決上述技術(shù)問題,本申請實施例還提供了一種授權(quán)服務(wù)器,是這樣實現(xiàn)的一種授權(quán)服務(wù)器,包括表項建立單元,用于為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識;接收角色授權(quán)命令單元,用于接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)所述命令獲取所述角色的源標識;識一致的斥又限;返回權(quán)限單元,用于向所述管理終端返回所述獲取權(quán)限單元獲得的權(quán)限。可見,在本申請實施例中,預(yù)先為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,屬于當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識,當(dāng)接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)該命令獲取該角色的源標識,查找權(quán)限表獲得權(quán)限表中源標識與獲取的角色的源標識一致的權(quán)限,向所述管理終端返回所述獲得的權(quán)限。由此可見,本申請實施例中通過角色和權(quán)限的資源標識,可以為某個角色從當(dāng)前系統(tǒng)的所有權(quán)限中選擇與該角色屬于同一子系統(tǒng)的權(quán)限,并僅返回該同一子系統(tǒng)的權(quán)限,而不是當(dāng)前系統(tǒng)中的所有權(quán)限,由于子系統(tǒng)的權(quán)限范圍遠小于當(dāng)前系統(tǒng)的權(quán)限范圍,因此降低了系統(tǒng)管理員的負擔(dān),并且提高了授權(quán)的速度。為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖l為本申請授權(quán)控制方法的第一實施例流程圖2為本申請授權(quán)控制方法的第二實施例流程圖3A為應(yīng)用本申請授權(quán)控制方法實施例的一個資源樹結(jié)構(gòu)示意圖3B為圖3A所示資源樹的資源視圖的結(jié)構(gòu)示意圖3C為圖3A所示資源樹的角色和權(quán)限視圖的結(jié)構(gòu)示意圖4為本申請授權(quán)服務(wù)器的實施例框圖。具體實施例方式本申請實施例提供一種授權(quán)控制方法和授權(quán)服務(wù)器。本申請實施例在實現(xiàn)授權(quán)控制時,授權(quán)服務(wù)器基于資源的概念,將屬于當(dāng)前系統(tǒng)的不同子系統(tǒng)中的角色、權(quán)限和內(nèi)容分類統(tǒng)一進行管理。本申請實施例中通過為角色、權(quán)限和內(nèi)容分別建表,這些表之間通過設(shè)置的標識字段進行相互關(guān)聯(lián),即屬于同一子系統(tǒng)的角色、權(quán)限和內(nèi)容具有相同的標識,當(dāng)為某個子系統(tǒng)中的角色授予權(quán)限,以及為用戶授予角色的時候,根據(jù)這些表項之間的相互關(guān)聯(lián),授權(quán)服務(wù)器可以在管理終端的授權(quán)管理界面上僅輸出屬于該子系統(tǒng)的權(quán)限,供系統(tǒng)管理員選擇,由于授權(quán)服務(wù)器返回的該子系統(tǒng)的權(quán)限范圍遠小于當(dāng)前系統(tǒng)的所有權(quán)限范圍,因此提高了授權(quán)速度,降低了管理員的授權(quán)負擔(dān)。在授權(quán)管理界面,授權(quán)服務(wù)器返回的權(quán)限可以以樹形結(jié)構(gòu)的方式輸出,具體如下當(dāng)資源作為角色和權(quán)限的分組概念時,將當(dāng)前系統(tǒng)作為資源的父親節(jié)點,其下掛載的多個子系統(tǒng)也是一種資源,但其并非角色掛載點和權(quán)限掛載點,對于每個子系統(tǒng),其作為父親節(jié)點,通過將屬于每個子系統(tǒng)的資源設(shè)置為權(quán)限掛載點,或者角色掛載點,或者權(quán)限掛載點和角色掛載點,這些資源掛載在該父親節(jié)點下,由于這些掛載點同屬于一個父親節(jié)點,因此使得這些權(quán)限和角色之間形成了天然的聯(lián)系,并且使得不同子系統(tǒng)之間的角色權(quán)限可以有效區(qū)分;當(dāng)資源作為內(nèi)容分類才既念時,也將當(dāng)前系統(tǒng)作為資源的父親節(jié)點,其下掛載的多個子系統(tǒng)作為第一級內(nèi)容節(jié)點,當(dāng)每個子系統(tǒng)作為父親節(jié)點,才艮據(jù)該子系統(tǒng)的內(nèi)容分類,其下又可以掛載若干級內(nèi)容節(jié)點,內(nèi)容節(jié)點之間通過層級關(guān)系可以方便地進行管理和授權(quán),即當(dāng)屬于上一級內(nèi)容節(jié)點的內(nèi)容被授權(quán)給用戶時,該內(nèi)容節(jié)點的所有下級內(nèi)容節(jié)點的內(nèi)容也相應(yīng)被授權(quán)給該用戶。為了使本
技術(shù)領(lǐng)域:
的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。本申請授權(quán)控制方法的第一實施例流程如圖1所示,包括如下步驟步驟101:為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中屬于當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識。步驟102:接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)該命令獲取該角色的源標識。步驟103:查找權(quán)限表,從所述權(quán)限表中獲得源標識與獲取的角色的源標識一致的^J艮。步驟104:向管理終端返回獲得的權(quán)限。本申請授權(quán)控制方法的第二實施例流程如圖2所示,包括如下步驟步驟201:授權(quán)服務(wù)器預(yù)先為當(dāng)前系統(tǒng)建立資源表,資源表中包括每個子系統(tǒng)的角色權(quán)限資源表項,以及為具有不同內(nèi)容分類的子系統(tǒng)所建立的分類資源表項。其中,角色權(quán)限資源表項的父親標識為其所屬子系統(tǒng)的標識,分類資源表項的父親標識也為其所屬子系統(tǒng)的標識。步驟202:為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表。其中,屬于當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識,該源標識可以具體為所述同一子系統(tǒng)的角色權(quán)限資源表項的標識。步驟203:為子系統(tǒng)的內(nèi)容范圍劃分若干級內(nèi)容分類,并根據(jù)內(nèi)容分類建立內(nèi)容表。內(nèi)容是目標系統(tǒng)的一種模型,表示的就是目標系統(tǒng)的類目。如一個論壇系統(tǒng)包括三個版塊,分別為服裝版塊、汽車版塊和新聞實事版。則該三個版塊就是論壇系統(tǒng)的三個內(nèi)容。在建立資源的時候,可以選擇該資源是否是內(nèi)容,如果是的話,在資源表里面,可以設(shè)置一個類型字段,取值為1,表示該資源為內(nèi)容,如果資源不是內(nèi)容,則可以設(shè)置類型字段的取值為0。其中,屬于同一子系統(tǒng)下第一級內(nèi)容分類表項的父親標識為所述同一子系統(tǒng)對應(yīng)的分類資源表項的標識,除所述第一級內(nèi)容分類表項的其它若干級內(nèi)容分類表項的父親標識為其所屬的上一級內(nèi)容分類表項的標識。另外,還可以為內(nèi)容分類表項設(shè)置屬性標識,每一級內(nèi)容分類表項的屬性標識中可以包含其上一級內(nèi)容分類表項的屬性標識。步驟204:當(dāng)權(quán)限表中包含根據(jù)內(nèi)容分類劃分的權(quán)限表項時,在該權(quán)限表項中寫入權(quán)限為內(nèi)容權(quán)限的標識。內(nèi)容權(quán)限是在建立權(quán)限的時候,僅針對某個特定內(nèi)容有效的權(quán)限,而在該特定內(nèi)容之外并不生效的權(quán)限。如上述論壇系統(tǒng)中,若要為新聞實事版塊的管理員授予權(quán)限,對于刪除帖子的權(quán)限,要求該新聞實事版塊的管理員只能在本版塊內(nèi)刪除帖子,而不能到服裝版塊刪除帖子,因此,刪除帖子的權(quán)限屬于內(nèi)容權(quán)限。對于審核注冊用戶的權(quán)限,則允許該新聞實事版塊的管理員審核所有注冊用戶的信息,而并不局限于和新聞實事版塊有關(guān)的注冊用戶信息,因此,審核注冊用戶的權(quán)限并不是內(nèi)容權(quán)限。本申請將審核注冊用戶權(quán)限等非內(nèi)容權(quán)限稱為操作性權(quán)限。一個權(quán)限是否為內(nèi)容權(quán)限,需要在權(quán)限表里設(shè)置標志位字段,如果該權(quán)限是內(nèi)容權(quán)限,則標志位用一個值標識,如果該權(quán)限不是內(nèi)容權(quán)限,則標志位用另一個值標識。具體如何取值,本實施例不做限制,只要能區(qū)分是否為內(nèi)容權(quán)限即可。步驟205:授權(quán)服務(wù)器接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)該命令獲取該角色的源標識。步驟206:查找權(quán)限表,從權(quán)限表中獲得源標識與所獲取的角色的源標識一致的權(quán)限,并向管理終端返回獲得的權(quán)限。步驟207:接收管理終端從獲得的權(quán)限中選擇的權(quán)限,并將選擇的權(quán)限授斥又給該角色。步驟209:當(dāng)授權(quán)服務(wù)器接收到管理終端發(fā)送的為用戶授予角色的命令時,從命令中獲取該角色的標識。步驟210:根據(jù)角色的標識查找角色權(quán)限關(guān)聯(lián)表中與該角色對應(yīng)的權(quán)限。步驟211:判斷與該角色對應(yīng)的權(quán)限是否為內(nèi)容權(quán)限,若是,則執(zhí)行步驟212;否則,執(zhí)行步驟213。根據(jù)所述角色的標識查找角色表,得到角色所屬的子系統(tǒng)的角色權(quán)限資源表項的標識,獲取與該角色權(quán)限資源表項的標識具有相同父親節(jié)點的分類資源表項的標識,根據(jù)分類資源表項的標識查找所述內(nèi)容表,獲得以該分類資源表項的標識作為父親標識的內(nèi)容及其下屬的若干級內(nèi)容,將所獲得的內(nèi)容按照層級關(guān)系生成內(nèi)容分類列表并返回所述管理終端。步驟212:向所述管理終端返回該角色所屬的子系統(tǒng)的內(nèi)容分類列表,執(zhí)行步驟214。步驟213:將對應(yīng)的權(quán)限授權(quán)給該用戶,結(jié)束當(dāng)前流程。步驟214:接收管理終端從內(nèi)容分類列表中選擇的內(nèi)容分類,將與選擇的內(nèi)容分類對應(yīng)的內(nèi)容權(quán)限授權(quán)給用戶。步驟215:通過用戶權(quán)限表保存為所述用戶授權(quán)的內(nèi)容權(quán)限,結(jié)束當(dāng)前流程。在實際應(yīng)用中,一般所有的表項都存放在數(shù)據(jù)庫中,即存放在服務(wù)器的硬盤內(nèi),但是對于訪問量比較大的系統(tǒng),如淘寶網(wǎng),過多地到數(shù)據(jù)庫中去存取數(shù)據(jù)使得服務(wù)器上的硬盤被頻繁操作,會影響讀取效率甚至?xí)悍鋽?shù)據(jù)庫。而由于上述表項在設(shè)置好后就不會頻繁變動,所以通常會在緩存中保存這些不易變動的數(shù)據(jù),因為緩存的讀取速度快,能夠緩解數(shù)據(jù)庫的壓力;當(dāng)數(shù)據(jù)庫內(nèi)容發(fā)生變化的時候,再更新服務(wù)器上面的緩存。因此,優(yōu)選的,本申請實施例通過緩存存取表項數(shù)據(jù)以提高服務(wù)器的性能。上述本申請實施例中,可以應(yīng)用數(shù)據(jù)庫分別為當(dāng)前系統(tǒng)建立資源表(resource)、角色表(role)、澤又限表(permission)、角色一又卩艮關(guān)4關(guān)表(role_permission)、用戶角色表(user—role)和用戶權(quán)卩艮表(user_permission)。由于這些表之間通過設(shè)置的ID字段相互關(guān)聯(lián),因此當(dāng)為當(dāng)前系統(tǒng)的某個子系統(tǒng)中的角色進行授權(quán),或者為該子系統(tǒng)中的用戶授予角色的時候,根據(jù)表項之間的關(guān)聯(lián)關(guān)系在管理員授權(quán)界面上可以以角色權(quán)限資源樹和分類資源樹的形式呈現(xiàn)該子系統(tǒng)的授權(quán)范圍。通常當(dāng)管理員為該子系統(tǒng)進行角色授權(quán)管理時,會點擊操作界面上角色管理對應(yīng)的命令按鈕,授權(quán)服務(wù)器相應(yīng)接收到包含該子系統(tǒng)標識的授權(quán)命令,并向授權(quán)管理界面返回該子系統(tǒng)的權(quán)限范圍,具體可以以樹的方式顯示出該子系統(tǒng)中標記為角色掛載點的資源節(jié)點及其父親節(jié)點,當(dāng)點擊這些角色掛載點時,則其下展現(xiàn)掛載的角色,即這就是角色視圖,同理,該子系統(tǒng)的權(quán)限視圖也以類似的方式展現(xiàn),后續(xù)將通過具體應(yīng)用實例進行說明,在此不再贅述。如圖3A所示,為應(yīng)用本申請授權(quán)控制系統(tǒng)所形成的資源樹結(jié)構(gòu)示意圖,從資源的角度考慮,當(dāng)前系統(tǒng)作為資源樹的父親節(jié)點,以資源A表示,在資源A下掛載的子資源Al為一個論壇系統(tǒng),該論壇系統(tǒng)既不是角色掛載點,也不是權(quán)限掛載點。子資源Al的角色權(quán)限資源以圖中右側(cè)角色權(quán)限資源樹示出,子資源Al的內(nèi)容權(quán)限資源以圖中左側(cè)分類資源樹示出。在分類資源樹中,子資源Al下掛載的各級內(nèi)容節(jié)點為按照論壇系統(tǒng)的內(nèi)容劃分的多級版塊對應(yīng)的各個內(nèi)容節(jié)點,假設(shè)該論壇系統(tǒng)A1包含三個版塊,分別為服裝版A21、汽車版A22和新聞實事版A23,其中新聞實事版A23進一步分為國內(nèi)新聞子版A231和國際新聞子版A232。在角色權(quán)限資源樹中,子資源A1下掛載的資源A11為角色掛載點,資源A12為權(quán)限掛載點,其中,資源All中包含的具體角色可以為各個版塊的管理員,資源A12中包含的具體權(quán)限可以為審核注冊用戶、查找用戶資料等操作性權(quán)限,也可以包含如刪除帖子等內(nèi)容性^l限?;谏鲜鼋巧珯?quán)限資源樹和分類資源樹,假設(shè)為角色"各個版塊的管理員"授予權(quán)限,根據(jù)角色權(quán)限資源樹可以確定各個版塊的管理員屬于角色掛載點All,角色掛載點All的父親節(jié)點為"^侖壇系統(tǒng)對應(yīng)的子資源Al,Al下掛載的權(quán)限掛載點中包含的權(quán)限均可授予各個版塊的管理員,即各個版塊的管理員被授權(quán)的權(quán)限包括審核注冊用戶,查找用戶資料、刪除帖子等權(quán)限,其中,由于刪除帖子屬于內(nèi)容性權(quán)限,如果為用戶"新聞實事版的版主"授予角色,則新聞實事版的版主只能具有刪除新聞實事版的帖子的權(quán)限,而不能具有刪除服裝版等其它版塊帖子的權(quán)限,因此為新聞實事版的版主授予管理員的角色時,可以將操作權(quán)限授予新聞實事版的版主,而在授予刪除帖子等內(nèi)容權(quán)限時,通過分類資源樹的層級結(jié)構(gòu),選擇分類資源樹中的新聞實事版A23,表示新聞實事版的版主在實行刪除帖子的才喿作時,只能在新聞實事版中完成。另外,雖然新聞實事版A23進一步分為國內(nèi)新聞子版A231和國際新聞子版A232,但為新聞實事版的版主授予內(nèi)容性權(quán)限時,根據(jù)內(nèi)容節(jié)點之間的層級關(guān)系,只需選擇新聞實事版A23,而不必再選擇國內(nèi)新聞子版A231和國際新聞子版A232。下面以在數(shù)據(jù)庫中建立表的方式,詳細說明上述應(yīng)用實例的實現(xiàn)過程第一步,在資源(resource)表中建立關(guān)于當(dāng)前系統(tǒng)(資源A)的資源時,在resource表中建立三條記錄,分別為關(guān)于論壇系統(tǒng)(子資源Al)的記錄,關(guān)于角色權(quán)限資源樹的記錄和關(guān)于分類資源樹的記錄,如下表l所示,其中,Parent—ID字段表示父親節(jié)點的ID,name字段表示資源的名稱,type字段表示該資源是否為內(nèi)容,As_pgroup字段表示該資源是否為權(quán)限節(jié)點,As一rgroup字段表示該資源是否為角色節(jié)點,uri字段表示該資源為內(nèi)容時在目標系統(tǒng)中的ID:表1<table>tableseeoriginaldocumentpage14</column></row><table>上表1的第一條記錄中,Parent—ID為-1表示接入系統(tǒng)的父親節(jié)點就是本系統(tǒng)的根節(jié)點,type為0表示該資源為菜單(非內(nèi)容),As_pgroup為1表示該資源是權(quán)限節(jié)點,As—rgroup為l表示該資源是角色節(jié)點,由于該資源非內(nèi)容,所以uri中沒有值;上表1的第二條記錄中,Parent_ID為1007表示接入系統(tǒng)的父親節(jié)點為Al,type為0表示該資源為菜單(非內(nèi)容),As_pgroup為l表示該資源是權(quán)限節(jié)點,As—rgroup為1表示該資源是角色節(jié)點,由于該資源非內(nèi)容,所以uri中沒有值;上表1的第三條記錄中,Parent—ID為1007表示接入系統(tǒng)的父親節(jié)點為Al,type為1表示該資源為內(nèi)容,As_pgroup為0表示該資源不是權(quán)限節(jié)點,As—rgroup為O表示該資源不是角色節(jié)點,由于該資源為內(nèi)容,所以uri為0表示該內(nèi)容在目標系統(tǒng)中的ID。第二步,在分類資源樹下進一步建立針對內(nèi)容資源的內(nèi)容表,如下表2所示表2<table>tableseeoriginaldocumentpage14</column></row><table>10141012國際新聞子版100110上表2中服裝版、汽車版和新聞時事版為表1中分類資源樹的下一級內(nèi)容節(jié)點,因此它們的父親節(jié)點的ID均為1009,而國內(nèi)新聞子版和國際新聞子版為新聞時事版的下一級內(nèi)容節(jié)點,因此它們的父親節(jié)點的ID均為1012。由于上表2中的記錄均針對內(nèi)容,因此type均為1,As_pgroup和As一rgroup均為0,表示為內(nèi)容節(jié)點,而非角色節(jié)點或權(quán)限節(jié)點,由于為內(nèi)容節(jié)點,因此為其分別設(shè)置uri值,以表示該內(nèi)容節(jié)點在目標系統(tǒng)中的ID。根據(jù)上述表1和表2,可以得到如圖3B所示的資源視圖的結(jié)構(gòu)示意圖,其中Al下一級為角色權(quán)限資源樹和分類資源樹,分類資源樹可以進一步展開為服裝版、汽車版和新聞實時版,新聞實時版又可進一步展開為國內(nèi)新聞子版和國際新聞子版;而相應(yīng)的角色視圖則如圖3C所示,其中A1下一級為角色權(quán)限資源樹,角色權(quán)限資源樹不能如分類資源樹一樣再展開下一級菜單,同樣權(quán)限視圖也如圖3C所示。第三步,建立如下表3所示的權(quán)限表,該表中示出了三個權(quán)限記錄,其中,resourceJD表示父親節(jié)點的ID,name字段表示權(quán)限的名稱,code字段表示權(quán)限的編碼,type字段表示是否為內(nèi)容權(quán)限表3IDresource—IDnamecodetype5861008刪除帖子Dd6t6—thread105871008編輯帖子Modify—thread105881008創(chuàng)建版塊Greate_sub—forum1上表3中,這些權(quán)限的父親節(jié)點ID均為1008(角色權(quán)限資源樹),其中刪除帖子權(quán)限和編輯帖子權(quán)限是內(nèi)容權(quán)限(即針對特定版塊有效),其type值設(shè)為10,而創(chuàng)建版塊權(quán)限為操作權(quán)限(對所有版塊有效),其type值設(shè)為l。第四步,建立如下表4所示的角色表,該表中示出了二個角色記錄,其中,resourceJD表示父親節(jié)點的ID,name字l殳表示一又限的名稱:表4IDresourcs一IDnam611651008版塊管理員11661008帖子管理員上表4中,這些角色的父親節(jié)點ID均為1008(角色權(quán)限資源樹),兩個角色名稱分別為版塊管理員和帖子管理員。第五步,根據(jù)表3和表4建立如下表5所示的角色權(quán)限關(guān)聯(lián)表,該關(guān)聯(lián)表關(guān)聯(lián)了表3中的權(quán)限和表4中的角色,其中,Role—ID字段表示角色ID,Permission—ID字^殳表示4又限ID,Permission—code字l殳表示4又限編碼,Permission—type字段表示權(quán)限是否為內(nèi)容權(quán)限表5Role—IDPermission—IDPermissioncodePermission—type1165588Create_sub_forum11166586Delete—thread101166587Modifythread10第六步,為具體的用戶進行角色和權(quán)限授權(quán),對于操作權(quán)限,則才艮據(jù)表5直接將角色與用戶關(guān)聯(lián),對于內(nèi)容權(quán)限,則列出根據(jù)表2生成分類資源樹供管理員勾選。假設(shè)把角色"版塊管理員,,賦給用戶"tbtestlOl",把角色"帖子管理員,,賦給用戶"tbtest202",則在用戶角色表中增加兩條記錄,如下表6所示表6User—IDUser—nickRole—ID175754147tbtestlOl1165175754265tbtest202116616由于權(quán)限"刪除帖子"和"編輯帖子"為內(nèi)容權(quán)限,因此為用戶tbtest202授予該內(nèi)容權(quán)限時,假設(shè)其僅能在國內(nèi)新聞子版中執(zhí)行上述內(nèi)容權(quán)限,則在如下表7所示的用戶^L限表中增加兩條記錄<table>tableseeoriginaldocumentpage17</column></row><table>上表7中,Contentjd代表內(nèi)容的ID,即外部系統(tǒng)對應(yīng)的目錄ID。在用戶進入該系統(tǒng)時,如果要使用操作權(quán)限,則需輸入用戶ID,權(quán)限代碼,即可在用戶角色表和用戶權(quán)限表中查詢;如果要使用內(nèi)容權(quán)限,則需要輸入內(nèi)容節(jié)點的id,權(quán)限代碼和用戶的ID,利用用戶權(quán)限表來查詢。根據(jù)上述建立的表項,在數(shù)據(jù)庫中完成了對用戶授權(quán)系統(tǒng)的建立,另夕卜,在上述各實施例中,如果內(nèi)容的不同分類具體為才艮據(jù)內(nèi)容范圍劃分的若干級內(nèi)容分類,則在每一個內(nèi)容表項中還可以包含對應(yīng)內(nèi)容分類的上一級內(nèi)容分類的標識。結(jié)合表2為例說明,由于國內(nèi)新聞子版是新聞時事版的下一級內(nèi)容分類,因此在創(chuàng)建內(nèi)容表時,可以在該內(nèi)容表中增加一個屬性標識符字段,用于標識每一級內(nèi)容和下一級內(nèi)容之間的關(guān)系,假設(shè)新聞時事版的屬性標識符為"news,,,則國內(nèi)新聞子版的屬性標識符可以為"news.i皿ews"。由此可知,每一級內(nèi)容自身的屬性標識符與上一級內(nèi)容的屬性標識符可以通過"."連接,形成屬于每個內(nèi)容的唯一屬性標識符,該屬性標識符可以表示各個內(nèi)容之間的層級關(guān)系,當(dāng)內(nèi)容范圍的劃分發(fā)生變更時,通過該內(nèi)容的屬性標識符可以精確定位到該內(nèi)容,對該內(nèi)容及其下級內(nèi)容進行更新,提高了維護效率。與本申請授權(quán)控制方法的實施例相對應(yīng),本申請還提供了授權(quán)服務(wù)器的實施例。本申請授權(quán)服務(wù)器的實施例框圖如圖4所示,該服務(wù)器包括表項建立單元410、接收角色授權(quán)命令單元420、獲取權(quán)限單元430和返回權(quán)限單元440。其中,表項建立單元410,用于為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識;接收角色授權(quán)命令單元420,用于接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)所述命令獲取所述角色的源標識;獲取權(quán)限單元430,用于從所述權(quán)限表中獲得源標識與所述獲取的角色的源標識一致的^J艮;返回權(quán)限單元440,用于向所述管理終端返回所述獲取權(quán)限單元獲得的權(quán)限。進一步,該授權(quán)服務(wù)器還可以包括(圖4中未示出)角色授權(quán)單元,用于接收所述管理終端從所述獲得的權(quán)限中選擇的權(quán)限后,將所述選擇的權(quán)限授權(quán)給所述角色;表項保存單元,用于通過角色權(quán)限關(guān)聯(lián)表保存所述角色和所述選擇的權(quán)限之間的對應(yīng)關(guān)系。進一步,所述表項建立單元410還用于,預(yù)先為所述當(dāng)前系統(tǒng)建立資源表,所述資源表中包括每個子系統(tǒng)的角色權(quán)限資源表項,所述角色權(quán)限資源表項的父親標識為其所屬子系統(tǒng)的標識,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限的源標識具體為所述同一子系統(tǒng)的角色權(quán)限資源表項的標識。進一步,所述表項建立單元410還用于,在所述資源表中為具有不同內(nèi)容分類的子系統(tǒng)建立分類資源表項,所述分類資源表項的父親標識為其所屬子系統(tǒng)的標識,以及為所述子系統(tǒng)的內(nèi)容范圍劃分若干級內(nèi)容分類,并根據(jù)所述內(nèi)容分類建立內(nèi)容表,其中,屬于同一子系統(tǒng)下第一級內(nèi)容分類表項的父親標識為所述同一子系統(tǒng)對應(yīng)的分類資源表項的標識,除所述第一級內(nèi)容分類表項的其它若干級內(nèi)容分類表項的父親標識為其所屬的上一級內(nèi)容分類表項的標識,每一級內(nèi)容分類表項的屬性標識中包含其上一級內(nèi)容分類表項的屬性標識。進一步,該授權(quán)服務(wù)器還可以包括(圖4中未示出)內(nèi)容權(quán)限維護單元,18項中寫入所述權(quán)限為內(nèi)容權(quán)限的標識,以及當(dāng)所述管理終端選擇的權(quán)限中包含內(nèi)容權(quán)限時,在所述角色權(quán)限關(guān)聯(lián)表中存儲所述角色和所述選擇權(quán)限之間的對應(yīng)關(guān)系的表項內(nèi)寫入所述內(nèi)容權(quán)限的標識。該授權(quán)服務(wù)器還可以包括(圖4中未示出)接收用戶授權(quán)命令單元,用于當(dāng)接收到管理終端發(fā)送的為用戶授予角色的命令時,從所述命令中獲取所述角色的標識;查找角色權(quán)限單元,用于根據(jù)所述角色的標識查找所述角色權(quán)限關(guān)聯(lián)表中與所述角色對應(yīng)的權(quán)限;判斷權(quán)限單元,用于判斷所述對應(yīng)的權(quán)限是否為內(nèi)容權(quán)限;用戶授權(quán)單元,用于當(dāng)所述判斷權(quán)限單元的判斷結(jié)果為是時,向所述管理終端返回所述角色所屬的子系統(tǒng)的內(nèi)容分類列表,并接收所述管理終端從所述內(nèi)容分類列表中選擇的內(nèi)容分類,將與所述選擇的內(nèi)容分類對應(yīng)的內(nèi)容權(quán)限授權(quán)給所述用戶,當(dāng)所述判斷權(quán)限單元的判斷結(jié)果為否時,將所述對應(yīng)的權(quán)限授權(quán)給所述用戶。進一步,所述表項保存單元還用于,通過用戶角色表保存為所述用戶授權(quán)的角色,以及通過用戶權(quán)限表保存為所述用戶授權(quán)的內(nèi)容權(quán)限。通過以上的實施方式的描述可知,在本申請實施例中,預(yù)先為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,屬于當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識,當(dāng)接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)該命令獲取該角色的源標識,查找權(quán)限表獲得權(quán)限表中源標識與獲取的角色的源標識一致的權(quán)限,向所述管理終端返回所述獲得的權(quán)限。由此可見,本申請實施例中通過角色和權(quán)限的資源標識,可以為某個角色從當(dāng)前系統(tǒng)的所有權(quán)限中選擇與該角色屬于同一子系統(tǒng)的權(quán)限,并僅返回該同一子系統(tǒng)的權(quán)限,而不是當(dāng)前系統(tǒng)中的所有權(quán)限,由于子系統(tǒng)的權(quán)限范圍遠小于當(dāng)前系統(tǒng)的權(quán)限范圍,因此降低了系統(tǒng)管理員的負擔(dān),并且提高了授權(quán)的速度。通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。本申請可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、凄t據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。雖然通過實施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。權(quán)利要求1、一種授權(quán)控制方法,其特征在于,為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識,所述方法包括接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)所述命令獲取所述角色的源標識;查找所述權(quán)限表,從所述權(quán)限表中獲得源標識與所述獲取的角色的源標識一致的權(quán)限;向所述管理終端返回所述獲得的權(quán)限。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括接收所述管理終端從所述獲得的權(quán)限中選擇的權(quán)限;將所述選擇的權(quán)限授權(quán)給所述角色;3、根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括預(yù)先為所述當(dāng)前系統(tǒng)建立資源表,所述資源表中包括每個子系統(tǒng)的角色權(quán)限資源表項,所述角色權(quán)限資源表項的父親標識為其所屬子系統(tǒng)的標識;屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限的源標識具體為所述同一子系統(tǒng)的角色權(quán)限資源表項的標識。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括在所述資源表中為具有不同內(nèi)容分類的子系統(tǒng)建立分類資源表項,所述分類資源表項的父親標識為其所屬子系統(tǒng)的標識;為所述子系統(tǒng)的內(nèi)容范圍劃分若干級內(nèi)容分類,并根據(jù)所述內(nèi)容分類建立內(nèi)容表,其中,屬于同一子系統(tǒng)下第一級內(nèi)容分類表項的父親標識為所述同一子系統(tǒng)對應(yīng)的分類資源表項的標識,除所述第一級內(nèi)容分類表項的其它若干級內(nèi)容分類表項的父親標識為其所屬的上一級內(nèi)容分類表項的標識,每一級內(nèi)容分類表項的屬性標識中包含其上一級內(nèi)容分類表項的屬性標識。5、根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述權(quán)限表中包含根據(jù)所述內(nèi)容分類劃分的權(quán)限表項時,在所述權(quán)限表項中寫入所述權(quán)限為內(nèi)容權(quán)限的標識;當(dāng)所述選擇的權(quán)限中包含內(nèi)容權(quán)限時,還包括在所述角色權(quán)限關(guān)聯(lián)表中存儲所述角色和所述選擇權(quán)限之間的對應(yīng)關(guān)系的表項內(nèi)寫入所述內(nèi)容權(quán)限的標識。6、根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括當(dāng)接收到管理終端發(fā)送的為用戶授予角色的命令時,從所述命令中獲取所述角色的標識;根據(jù)所述角色的標識查找所述角色權(quán)限關(guān)聯(lián)表中與所述角色對應(yīng)的權(quán)限;判斷所述對應(yīng)的權(quán)限是否為內(nèi)容權(quán)限,若是,則向所述管理終端返回所述角色所屬的子系統(tǒng)的內(nèi)容分類列表;否則,將所述對應(yīng)的權(quán)限授權(quán)給所述用戶。7、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述向所述管理終端返回所述角色所屬的子系統(tǒng)的內(nèi)容分類列表包括根據(jù)所述角色的標識查找所述角色表,得到所述角色所屬的子系統(tǒng)的角色權(quán)限資源表項的標識;獲取與所述角色權(quán)限資源表項的標識具有相同父親節(jié)點的分類資源表項的標識;根據(jù)所述分類資源表項的標識查找所述內(nèi)容表,獲得以所述分類資源表項的標識作為父親標識的內(nèi)容及其下屬的若干級內(nèi)容;將所述獲得的內(nèi)容按照層級關(guān)系生成內(nèi)容分類列表并返回所述管理終端。8、根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括通過用戶角色表保存為所述用戶授權(quán)的角色。9、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述向所述管理終端返回所述角色所屬的子系統(tǒng)的內(nèi)容分類列表后還包括接收所述管理終端從所述內(nèi)容分類列表中選擇的內(nèi)容分類;通過用戶權(quán)限表保存為所述用戶授權(quán)的內(nèi)容權(quán)限,10、一種授權(quán)服務(wù)器,其特征在于,包括表項建立單元,用于為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識;接收角色授權(quán)命令單元,用于接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)所述命令獲取所述角色的源標識;識一致的;f又限;返回權(quán)限單元,用于向所述管理終端返回所述獲取權(quán)限單元獲得的權(quán)限。11、根據(jù)權(quán)利要求IO所述的服務(wù)器,其特征在于,還包括角色授權(quán)單元,用于接收所述管理終端從所述獲得的權(quán)限中選擇的權(quán)限后,將所述選擇的權(quán)限授權(quán)給所述角色;表項保存單元,用于通過角色權(quán)限關(guān)聯(lián)表保存所述角色和所述選擇的權(quán)限之間的對應(yīng)關(guān)系。12、根據(jù)權(quán)利要求11所述的服務(wù)器,其特征在于,所述表項建立單元還用于,預(yù)先為所述當(dāng)前系統(tǒng)建立資源表,所述資源表中包括每個子系統(tǒng)的角色權(quán)限資源表項,所述角色權(quán)限資源表項的父親標識為其所屬子系統(tǒng)的標識,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限的源標識具體為所述同一子系統(tǒng)的角色權(quán)限資源表項的標識。13、根據(jù)權(quán)利要求12所述的服務(wù)器,其特征在于,所述表項建立單元還用于,在所述資源表中為具有不同內(nèi)容分類的子系統(tǒng)建立分類資源表項,所述分類資源表項的父親標識為其所屬子系統(tǒng)的標識,以及為所述子系統(tǒng)的內(nèi)容范圍劃分若干級內(nèi)容分類,并根據(jù)所述內(nèi)容分類建立內(nèi)容表,其中,屬于同一子系統(tǒng)下第一級內(nèi)容分類表項的父親標識為所述同一子系統(tǒng)對應(yīng)的分類資源表為其所屬的上一級內(nèi)容分類表項的標識,每一級內(nèi)容分類表項的屬性標識中包含其上一級內(nèi)容分類表項的屬性標識。14、根據(jù)權(quán)利要求13所述的服務(wù)器,其特征在于,還包括內(nèi)容權(quán)限維護單元,用于當(dāng)所述權(quán)限表中包含根據(jù)所述內(nèi)容分類劃分的權(quán)限表項時,在所述權(quán)限表項中寫入所述權(quán)限為內(nèi)容權(quán)限的標識,以及當(dāng)所述管理終端選擇的權(quán)限中包含內(nèi)容權(quán)限時,在所述角色權(quán)限關(guān)聯(lián)表中存儲所述角色和所述選擇權(quán)限之間的對應(yīng)關(guān)系的表項內(nèi)寫入所述內(nèi)容權(quán)限的標識。15、根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于,還包括接收用戶授權(quán)命令單元,用于當(dāng)接收到管理終端發(fā)送的為用戶授予角色的命令時,從所述命令中獲取所述角色的標識;查找角色權(quán)限單元,用于根據(jù)所述角色的標識查找所述角色權(quán)限關(guān)聯(lián)表中與所述角色對應(yīng)的^K限;判斷權(quán)限單元,用于判斷所述對應(yīng)的權(quán)限是否為內(nèi)容權(quán)限;用戶授權(quán)單元,用于當(dāng)所述判斷權(quán)限單元的判斷結(jié)果為是時,向所述管理終端返回所述角色所屬的子系統(tǒng)的內(nèi)容分類列表,并接收所述管理終端從所述內(nèi)容分類列表中選擇的內(nèi)容分類,將與所述選擇的內(nèi)容分類對應(yīng)的內(nèi)容權(quán)限授權(quán)給所述用戶,當(dāng)所述判斷權(quán)限單元的判斷結(jié)果為否時,將所述對應(yīng)的權(quán)限授權(quán)給所述用戶。16、根據(jù)權(quán)利要求15所述的服務(wù)器,其特征在于,所述表項保存單元還用于,通過用戶角色表保存為所述用戶授權(quán)的角色,以及通過用戶權(quán)限表保存為所述用戶授權(quán)的內(nèi)容權(quán)限。全文摘要本申請實施例公開了一種授權(quán)控制方法和授權(quán)服務(wù)器,所述方法包括為當(dāng)前系統(tǒng)中的角色和權(quán)限分別建立角色表和權(quán)限表,其中,屬于所述當(dāng)前系統(tǒng)中同一子系統(tǒng)的角色和權(quán)限具有相同的源標識;接收到管理終端發(fā)送的為角色授權(quán)的命令時,根據(jù)所述命令獲取所述角色的源標識;查找所述權(quán)限表,從所述權(quán)限表中獲得源標識與所述獲取的角色的源標識一致的權(quán)限;向所述管理終端返回所述獲得的權(quán)限。本申請實施例中通過角色和權(quán)限的資源標識,可以為某個角色從當(dāng)前系統(tǒng)的所有權(quán)限中選擇與該角色屬于同一子系統(tǒng)的權(quán)限,并僅返回該同一子系統(tǒng)的權(quán)限,由于子系統(tǒng)的權(quán)限范圍遠小于當(dāng)前系統(tǒng)的權(quán)限范圍,因此降低了系統(tǒng)管理員的負擔(dān),并且提高了授權(quán)的速度。文檔編號H04L9/32GK101582767SQ20091014623公開日2009年11月18日申請日期2009年6月24日優(yōu)先權(quán)日2009年6月24日發(fā)明者姚振偉,驍滕,趙平飛申請人:阿里巴巴集團控股有限公司