業(yè)務(wù)管理系統(tǒng)、用戶(hù)權(quán)限控制方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供一種業(yè)務(wù)管理系統(tǒng)、用戶(hù)權(quán)限控制方法及系統(tǒng),其通過(guò)接收用戶(hù)的授權(quán)請(qǐng)求;獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);在預(yù)存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制,當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),可擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義即可實(shí)現(xiàn),即可方便的實(shí)現(xiàn)更細(xì)顆粒度的用戶(hù)權(quán)限控制,而當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),只需修改訪問(wèn)控制列表配置文件即可實(shí)現(xiàn),即更便于擴(kuò)展。
【專(zhuān)利說(shuō)明】
業(yè)務(wù)管理系統(tǒng)、用戶(hù)權(quán)限控制方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及用戶(hù)權(quán)限控制技術(shù)領(lǐng)域,特別是涉及一種業(yè)務(wù)管理系統(tǒng)、用戶(hù)權(quán)限控制方法及系統(tǒng)。
【背景技術(shù)】
[0002]業(yè)務(wù)管理系統(tǒng)中常常涉及用戶(hù)權(quán)限的控制,在業(yè)務(wù)管理系統(tǒng)中,用戶(hù)權(quán)限例如可能是用戶(hù)對(duì)某個(gè)功能模塊的操作、對(duì)某個(gè)業(yè)務(wù)的上傳文件的刪改、對(duì)某個(gè)業(yè)務(wù)菜單的訪問(wèn),或者對(duì)某個(gè)業(yè)務(wù)頁(yè)面上某個(gè)按鈕、某個(gè)圖片的可見(jiàn)性控制等,這些都可屬于權(quán)限控制的范疇。
[0003]現(xiàn)有技術(shù)中,為了實(shí)現(xiàn)用戶(hù)權(quán)限控制,通常采用基于角色的訪問(wèn)控制(RBAC,Role-Based Access Control),即用戶(hù)通過(guò)角色與權(quán)限進(jìn)行關(guān)聯(lián)。簡(jiǎn)單地說(shuō),一個(gè)用戶(hù)擁有若干角色,每一個(gè)角色擁有若干權(quán)限。這樣,就構(gòu)造成“用戶(hù)-角色-權(quán)限”的授權(quán)模型。在這種模型中,用戶(hù)與角色之間,角色與權(quán)限之間,一般者是多對(duì)多的關(guān)系,如圖1所示,但基于角色的訪問(wèn)控制技術(shù)中一般使用數(shù)據(jù)庫(kù)存儲(chǔ)角色或用戶(hù)的權(quán)限數(shù)據(jù),但使用數(shù)據(jù)庫(kù)存儲(chǔ)用戶(hù)權(quán)限數(shù)據(jù),不容易擴(kuò)展;且只是基于角色進(jìn)行用戶(hù)權(quán)限控制,對(duì)用戶(hù)權(quán)限控制的顆粒度不夠。
【發(fā)明內(nèi)容】
[0004]鑒于上述問(wèn)題,本發(fā)明實(shí)施例提供一種業(yè)務(wù)管理系統(tǒng)、用戶(hù)權(quán)限控制方法及系統(tǒng),以方便進(jìn)行擴(kuò)展。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供的一種業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其包括:
[000?]接收用戶(hù)的授權(quán)請(qǐng)求;
[0007]獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);
[0008]在預(yù)存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;
[0009]根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。
[0010]其中,所述訪問(wèn)控制列表匹配數(shù)據(jù)是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù)。
[0011]其中,所述訪問(wèn)控制列表類(lèi)型元素包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法或HTTP請(qǐng)求方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度。
[0012]另外,還包括:
[0013]當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義。
[0014]其中,所述的訪問(wèn)控制列表配置文件以文本形式保存。
[0015]另外,還包括:
[0016]當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件。
[0017]相應(yīng)地,根據(jù)本發(fā)明實(shí)施例的一種業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其包括:
[0018]接收處理模塊,用于接收用戶(hù)的授權(quán)請(qǐng)求;
[0019]獲取處理模塊,用于獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);
[0020]匹配處理模塊,用于在預(yù)先保存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;
[0021]授權(quán)控制處理模塊,用于根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。
[0022]其中,所述訪問(wèn)控制列表匹配數(shù)據(jù)是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù)。
[0023]其中,所述訪問(wèn)控制列表類(lèi)型元素包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法或HTTP請(qǐng)求方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度。
[0024]另外,還包括:
[0025]當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義。
[0026]其中,所述的訪問(wèn)控制列表配置文件以文本形式保存。
[0027]另外,還包括:
[0028]當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件。
[0029]相應(yīng)地,根據(jù)本發(fā)明實(shí)施例的一種業(yè)務(wù)管理系統(tǒng),包括業(yè)務(wù)系統(tǒng)和用戶(hù)權(quán)限控制系統(tǒng),其特征在于,所述用戶(hù)權(quán)限控制系統(tǒng)具體包括:
[0030]接收處理模塊,用于接收業(yè)務(wù)系統(tǒng)發(fā)來(lái)的用戶(hù)的授權(quán)請(qǐng)求;
[0031]獲取處理模塊,用于獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);
[0032]匹配處理模塊,用于在預(yù)先保存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;
[0033]授權(quán)控制處理模塊,用于根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。
[0034]其中,所述訪問(wèn)控制列表匹配數(shù)據(jù)是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù)。
[0035]其中,所述訪問(wèn)控制列表類(lèi)型元素包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度。
[0036]另外,還包括:
[0037]當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義。
[0038]其中,所述的訪問(wèn)控制列表配置文件以文本形式保存。
[0039]另外,還包括:
[0040]當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件。
[0041]根據(jù)本發(fā)明實(shí)施例提供的業(yè)務(wù)管理系統(tǒng)、用戶(hù)權(quán)限控制方法及系統(tǒng),其通過(guò)接收用戶(hù)的授權(quán)請(qǐng)求;獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);在預(yù)存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制,當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),可擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義即可實(shí)現(xiàn),即可方便的實(shí)現(xiàn)更細(xì)顆粒度的用戶(hù)權(quán)限控制,而當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),只需修改訪問(wèn)控制列表配置文件即可實(shí)現(xiàn),即更便于擴(kuò)展。
【附圖說(shuō)明】
[0042]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。
[0043]圖1是根據(jù)現(xiàn)有技術(shù)基于角色的訪問(wèn)控制的原理示意圖;
[0044]圖2是根據(jù)本發(fā)明業(yè)務(wù)管理系統(tǒng)的具體實(shí)施例整體示意圖;
[0045]圖3是根據(jù)本發(fā)明業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法的具體實(shí)施例流程圖;
[0046]圖4是根據(jù)圖2中用戶(hù)權(quán)限控制系統(tǒng)的一個(gè)具體實(shí)施例的組成示意圖。
【具體實(shí)施方式】
[0047]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0048]請(qǐng)參閱圖2,其為根據(jù)本發(fā)明業(yè)務(wù)管理系統(tǒng)的具體實(shí)施例整體示意圖。
[0049]如圖示,本實(shí)施例業(yè)務(wù)管理系統(tǒng)中包括業(yè)務(wù)系統(tǒng)I和用戶(hù)權(quán)限控制系統(tǒng)2,具體實(shí)現(xiàn)時(shí),業(yè)務(wù)系統(tǒng)I可以是多個(gè)業(yè)務(wù)子系統(tǒng),其中每個(gè)業(yè)務(wù)或應(yīng)用分別對(duì)應(yīng)一個(gè)業(yè)務(wù)子系統(tǒng),每個(gè)業(yè)務(wù)子系統(tǒng)中的用戶(hù)都可以通過(guò)用戶(hù)權(quán)限控制系統(tǒng)2進(jìn)行權(quán)限的集中控制。
[0050]需要說(shuō)明的,由于用戶(hù)權(quán)限通過(guò)統(tǒng)一的用戶(hù)權(quán)限控制系統(tǒng)進(jìn)行集中控制,本實(shí)施例的業(yè)務(wù)管理系統(tǒng)中,即使各業(yè)務(wù)子系統(tǒng)的權(quán)限管理要求不同,也可以采用通用的統(tǒng)一解決方案實(shí)現(xiàn)用戶(hù)權(quán)限控制。
[0051]參考圖3,該圖是根據(jù)本發(fā)明業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法的具體實(shí)施例流程圖,在本實(shí)施例中,業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法主要包括如下步驟:
[0052]步驟SlOl,接收用戶(hù)的授權(quán)請(qǐng)求;
[0053]具體實(shí)現(xiàn)時(shí),所述用戶(hù)的授權(quán)請(qǐng)求可以是各個(gè)業(yè)務(wù)子系統(tǒng)的用戶(hù)發(fā)來(lái)的授權(quán)請(qǐng)求,這里不再贅述;
[0054]步驟S102,獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);
[0055]具體實(shí)現(xiàn)時(shí),訪問(wèn)控制列表匹配數(shù)據(jù)例如可以是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù),需要說(shuō)明的,本實(shí)施例中要預(yù)先定義訪問(wèn)控制列表類(lèi)型元素,在編寫(xiě)訪問(wèn)控制規(guī)則時(shí)需要引用它們,作為可選地實(shí)施例,所述訪問(wèn)控制列表類(lèi)型元素可包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法或者HTTP請(qǐng)求方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度,具體定義說(shuō)明如下,其中
[0056]基本的ACL元素語(yǔ)法如下:
[0057]acl name type valueI value2...
[0058]ACL元素的值value之間是OR的關(guān)系,例如:
[0059]acl SportsGroup user zhang3 li4
[0060]需要說(shuō)明的,當(dāng)找到第一個(gè)值匹配時(shí),即可停止搜索,因此,具體實(shí)現(xiàn)時(shí)最好把最可能匹配的值放在列表開(kāi)頭處,能減少匹配花費(fèi)時(shí)間;
[0061]另外,在多數(shù)情況下,可以對(duì)一個(gè)ACL元素列舉多個(gè)值,即可以有多個(gè)ACL行使用同一個(gè)名字,例如下列兩段配置是等價(jià)的:
[0062]acl AllowAccessRes role tv_editor movie_editor zy_editor
[0063]acl AllowAccessRes role tv_editor
[0064]acl AllowAccessRes role movie_editor
[0065]acl AllowAccessRes role zy_editor
[0066]需要說(shuō)明的,上述相同類(lèi)型的同名元素是OR的關(guān)系,如上例;不同類(lèi)型的同名元素,后面的元素會(huì)覆蓋前面的元素,例如:
[0067]#被覆蓋
[0068]acl myTest user test
[0069]#會(huì)覆蓋前面的“myTest”元素
[0070]acl myTest act1n add
[0071]下面詳細(xì)說(shuō)明本實(shí)施例的訪問(wèn)控制列表類(lèi)型元素:
[0072]1.1.ACL類(lèi)型元素:user,即匹配用戶(hù)名
[0073]匹配后臺(tái)用戶(hù)登錄名(大小寫(xiě)敏感)或登錄ID。
[0074]1.2.ACL類(lèi)型元素:role,即匹配角色
[0075]匹配后臺(tái)用戶(hù)角色名(大小寫(xiě)敏感)或角色I(xiàn)D。
[0076]1.3.ACL類(lèi)型元素:method,即匹配數(shù)據(jù)傳輸方法或HTTP請(qǐng)求方法
[0077]匹配REQUEST_METH0D,例如GET、PUT、P0ST等(大小寫(xiě)不敏感)。
[0078]1.4.ACL類(lèi)型元素:act1n,即匹配操作代碼
[0079]匹配操作代號(hào)(大小寫(xiě)敏感)或操作ID。
[0080]1.5.ACL類(lèi)型元素:resource,即匹配資源
[0081]匹配資源(操作對(duì)象),包含資源類(lèi)別代號(hào)(大小寫(xiě)敏感)和資源ID兩部分。
[0082]其中,本實(shí)施例定義的對(duì)匹配資源的語(yǔ)法規(guī)則如下:
[0083]restype[resids]
[0084]例如:
[0085]某類(lèi)資源全體restype[*]或restype
[0086]某類(lèi)資源全體子資源restype[123].*
[0087]指定IDrestype[ 123]
[0088]指定多個(gè)IDrestype[123,234]
[0089]指定ID 范圍 restype[ 10-99]
[0090]restype[_50](表不 < = 50)
[0091]restype[ 100-](表不 > =100)
[0092]取反restype[!123,234](表示! =123&&! =234)
[0093]restype[! 10-99](表示 <10&&>99)
[0094]對(duì)于具有層級(jí)關(guān)系的資源類(lèi)別,可采用以下規(guī)則:
[0095]prestypel[presidsl].prestype2[presids2].restype[resids]
[0096]例如:
[0097]#等同于topic[16].page[*],表示id為16的topic下的所有page
[0098]topic[16].page
[0099]channel
[1095].page
[2594].module[16715]
[0100]channel[123].channel
[1864].ds[*]
[0?0? ] #表示id為32的topic下的所有子資源,等同于topic[32].page[*] topic[32].ds[*]topic[32].page[*].module[*]
[0102]topic[32].*
[0103]1.6.ACL類(lèi)型元素:param,即匹配參數(shù)
[0104]對(duì)指定的參數(shù)進(jìn)行普通字符串/數(shù)值比較或正則表達(dá)式匹配。
[0105]其中語(yǔ)法規(guī)則如下:
[0106]paramname = valueI value2…等于,普通字符串比較多個(gè)value之間是“或”的關(guān)系
[0107]paramname! =va I ue 或
[0108]paramname < > value不等于,普通字符串比較只能有一個(gè)value
[0109]paramname >numeric_value大于,普通數(shù)值比較只能有一個(gè) numeric_value,且必須是數(shù)值
[0110]paramname > =numeric_value大于等于,普通數(shù)值比較只能有一個(gè)numeric_value,且必須是數(shù)值
[0111 ] paramname <numeric_value小于,普通數(shù)值比較只能有一個(gè) numeric_value,且必須是數(shù)值
paramname < =numeric_value小于等于,普通數(shù)值比較只能有一^hnumer ic_vaI ue ,?必須是數(shù)值
[0112]paramname =?patternlpattern2..?正則表達(dá)式匹配多個(gè)pat tern之間是“或”的關(guān)系
[0113]paramname是指定要進(jìn)行匹配的參數(shù)名(字母、數(shù)字或下劃線“ 的組合)。
[0114]其中正則表達(dá)式匹配:patternN是PERL風(fēng)格的正則表達(dá)式,必須包含完整的定界符(任何不是字母、數(shù)字或反斜線“\”的字符)和表達(dá)式,可以在結(jié)束定界符后跟上修正符(參見(jiàn)http: //www.php.net/manual/zh/book.pcre.php)。多個(gè)pattern之間是OR的關(guān)系。
[0115]需要說(shuō)明的,上述param類(lèi)型元素能實(shí)現(xiàn)user、resource、act1n等元素類(lèi)型的功能,但是由于正則表達(dá)式比較耗時(shí),所以?xún)?yōu)先使用前幾種類(lèi)型或者普通字符串相等匹配。
[0116]1.7.ACL類(lèi)型元素:time
[0117]本實(shí)施例中控制可基于時(shí)間的訪問(wèn),時(shí)間為每天中的具體時(shí)間,和每周中的每天。
[0118]具體實(shí)現(xiàn)時(shí),日期和時(shí)間以系統(tǒng)服務(wù)端時(shí)間為準(zhǔn),所以設(shè)置timeACL時(shí)可能需要考慮業(yè)務(wù)系統(tǒng)所在的時(shí)區(qū)和時(shí)差冋題。
[0119]具體實(shí)現(xiàn)時(shí),日期可以單字母來(lái)表示,時(shí)間可以24小時(shí)制來(lái)表示,開(kāi)始時(shí)間可以大于結(jié)束時(shí)間(表示跨越O點(diǎn)),但兩者不能相同,具體如下:
[0120]符號(hào)日
[0121]S 星期日 Sunday
[0122]M 星期一Monday
[0123]T星期二 Tuesday
[0124]W星期三 Wednesday
[0125]H 星期四 Thursday
[0126]F星期五 Friday
[0127]A 星期六 Saturday
[0128]D工作日 Al I weekdays(M-F)
[0129]另外,為了編寫(xiě)time的訪問(wèn)控制列表ACL來(lái)匹配對(duì)應(yīng)的工作時(shí)間,可以按照下述方式編寫(xiě):
[0130]acl fforking_hours time MTffHF 08:00-17:00
[0131]或
[0132]acl fforking_hours time D 08:00-17:00
[0133]跨越O點(diǎn)的例子:
[0134]acl Offpeak time 20:00-06:00
[0135]access deny Offpeak...
[0136]等價(jià)于:
[0137]acl Offpeak time 06:00-20:00
[0138]access deny!Offpeak...
[0139]同一個(gè)time的訪問(wèn)控制列表ACL可以放置多個(gè)日期和時(shí)間范圍列表,“日期時(shí)間”或單個(gè)日期、單個(gè)時(shí)間都是合法的,例如:
[0140]acl Blah time M 08:00-10:OOffHF 09:00-11:OOSA
[0141]等價(jià)于下面3行:
[0142]acl Blah time M 08:00-10:00
[0143]acl Blah time WHF 09:00-11:00
[0144]acl Blah time SA
[0145]1.8.ACL類(lèi)型元素:ip,即匹配用戶(hù)的ip地址
[0146]匹配訪問(wèn)參數(shù)client_ip的IP地址。
[0147]具體實(shí)現(xiàn)時(shí),指定IP地址時(shí),可以以IP子網(wǎng)、地址范圍等形式編寫(xiě)地址,支持標(biāo)準(zhǔn)IP地址寫(xiě)法(由連接的4個(gè)小于256的數(shù)字)和無(wú)類(lèi)域間路由規(guī)范。
[0148]例如,可以使用如下幾種格式:
[0149]172.16.10.11 單個(gè) IP
[0150]172.16.10.12-172.16.10.20地址范圍
[0151]172.16.10.*通配符形式的網(wǎng)段
[0152]172.16.10.0/255.255.255.0 掩碼方式(mask)
[0153]172.16.10.0/24無(wú)類(lèi)域間路由(CIDR)
[0154]172.16.10.0-172.16.19.0/24多個(gè)相鄰子網(wǎng)
[0155]或者例如:下例中的每組是相等的:
[0156]acl Foo ip 172.16.44.21/255.255.255.255
[0157]acl Foo ip 172.16.44.21/32
[0158]acl Foo ip 172.16.44.21
[0159]acl Xyz ip 172.16.55.32/255.255.255.248
[0160]acl Xyz ip 172.16.55.32/28
[0161]acl Bar ip 172.16.66.0/255.255.255.0
[0162]acl Bar ip 172.16.66.0/24
[0163]acl Bar ip 172.16.66.0
[0164]多個(gè)相鄰子網(wǎng):
[0165]或者例如
[0166]acl Bar ip 172.16.10.0—172.16.13.0/24
[0167]等價(jià)于下面的行:
[0168]acl Bar ip 172.16.10.0/24
[0169]acl Bar ip 172.16.11.0/24
[0170]acl Bar ip 172.16.12.0/24
[0171]acl Bar ip 172.16.13.0/24
[0172]注意使用IP地址范圍,掩碼只能取一個(gè),不能為范圍里的地址設(shè)置多個(gè)不同掩碼。
[0173]另外,本實(shí)施例中同樣支持一個(gè)ipACL里設(shè)置多個(gè)IP地址值,例如:
[0174]acl Foo ip 172.16.43.10 172.16.43.16 172.16.43.20-172.16.43.50172.16.44.0/24
[0175]1.9.ACL類(lèi)型元素:freq,即匹配用戶(hù)對(duì)資源的操作頻度
[0176]控制用戶(hù)對(duì)資源的操作頻度,如果頻度超過(guò)指定值則匹配。
[0177]其語(yǔ)法規(guī)則可定義如下:
[0178]{fieldl&field2&...:{times}/{per1d}
[ΟΙ79]其中field只能是restype、resid或act1n,中間用“&”連接。表示對(duì)某類(lèi)/某個(gè)資源的某種操作進(jìn)行頻次統(tǒng)計(jì)。
[0180]times表示操作次數(shù),必須是大于O的整形數(shù)值。
[0181]per1d表示最近一段時(shí)間,必須是大于O的整形數(shù)值+單位,單位可以是D(Day)、H(Hour)、M(Minute)或S(Second),不寫(xiě)單位的話默認(rèn)是M0
[0182]由于freq元素是當(dāng)操作頻度超過(guò)指定值時(shí),匹配該ACL元素,所以一般用deny的訪問(wèn)規(guī)則進(jìn)行控制。
[0183]具體實(shí)現(xiàn)時(shí),可和user、resource、act 1n元素一起聯(lián)合控制,而且之后再跟一條沒(méi)有freq的allow聯(lián)合控制規(guī)則,例如:
[0184]acl zhang3 user zhang3
[0185]acl allTopic resource topic[*]
[0186]acl deleteAct1n act1n delete
[0187]acl IimitFreq freq restype&act1n:5/1M
[0188]access deny zhang3 allTopic deleteAct1n IimitFreq
[0189]access allow zhang3 allTopic deleteAct1n
[0190]另外,本實(shí)施例中還需要設(shè)置訪問(wèn)控制規(guī)則,用來(lái)允許或拒絕某些動(dòng)作。
[0191]例如,一種語(yǔ)法如下:
[0192]access allow|deny[!Jaclname[!Jaclname...
[0193]舉例說(shuō):
[0194]access allow AllowAccessRes
[0195]access deny!NewsChanneI
[0196]access allow SportsGroup TechGroup FinanceGroup
[0197]access規(guī)則的aclname之間是AND關(guān)系。
[0198]實(shí)際中,也可以采用下述方式,SP:
[0199]access allow ACL1ACL2ACL3
[0200]對(duì)該匹配規(guī)則來(lái)說(shuō),請(qǐng)求必須匹配ACLl、ACL2、ACL3中的任何一個(gè)。假如這些ACL中的任何一個(gè)不匹配請(qǐng)求,停止搜索該規(guī)則,并繼續(xù)處理下一條。具體實(shí)現(xiàn)時(shí),對(duì)某個(gè)規(guī)則來(lái)說(shuō),將最少匹配的ACL放在首位,能使效率最佳。
[0201]需要說(shuō)明的,本實(shí)施例中也可以支持匿名ACL元素,即在access規(guī)則中支持匿名ACL元素,即不需要事先定義的ACL元素,例如:
[0202]access allow{user myname}
[0203]access deny SportsGroup{act1n delete}
[0204]{}中的即為匿名ACL。
[0205]最后,可設(shè)置并保存訪問(wèn)控制列表配置文件,具體實(shí)現(xiàn)時(shí),所述的訪問(wèn)控制列表配置文件最好以文本形式保存,其中訪問(wèn)控制列表定義如下,即
[0206]access_list: =access規(guī)則\n access規(guī)則\η...
[0207]其中“\n”是換行符,accessjist按順序匹配,如果能匹配到一條,則停止匹配,如果不能匹配,則換到下一條繼續(xù)匹配,因此,具體實(shí)現(xiàn)時(shí),通??蓪⒏唧w和受限制的訪問(wèn)列表放在首位。
[0208]步驟S103,預(yù)存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;
[0209]具體實(shí)現(xiàn)時(shí),根據(jù)上述步驟102預(yù)先保存有訪問(wèn)控制列表配置文件,本步驟中即可讀取預(yù)先保存的訪問(wèn)控制列表配置文件,然后根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配。
[0210]步驟S104,根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。
[0211]需要說(shuō)明的,當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制的維度時(shí),可以增加新的訪問(wèn)控制列表元素類(lèi)型;而當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),本實(shí)施例中可通過(guò)擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義即可實(shí)現(xiàn),另外,當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件即可實(shí)現(xiàn),而無(wú)需像現(xiàn)有技術(shù)一樣修改數(shù)據(jù)庫(kù),另外,本實(shí)施例中由于支持匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度等各種高級(jí)別的權(quán)限控制需求,因此,系統(tǒng)設(shè)計(jì)的復(fù)雜度不會(huì)明顯提高。
[0212]參考圖4,該圖是根據(jù)本發(fā)明業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng)的一個(gè)具體實(shí)施例,本實(shí)施例的用戶(hù)權(quán)限控制系統(tǒng)主要包括:
[0213]接收處理模塊11,用于接收用戶(hù)的授權(quán)請(qǐng)求;
[0214]具體實(shí)現(xiàn)時(shí),所述用戶(hù)的授權(quán)請(qǐng)求可以是業(yè)務(wù)系統(tǒng)的各個(gè)業(yè)務(wù)子系統(tǒng)的用戶(hù)發(fā)來(lái)的授權(quán)請(qǐng)求,這里不再贅述;
[0215]獲取處理模塊12,用于獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù);
[0216]具體實(shí)現(xiàn)時(shí),參考前述說(shuō)明,訪問(wèn)控制列表匹配數(shù)據(jù)例如可以是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù),需要說(shuō)明的,本實(shí)施例中要預(yù)先定義訪問(wèn)控制列表類(lèi)型元素,在編寫(xiě)訪問(wèn)控制規(guī)則時(shí)需要引用它們,作為可選地實(shí)施例,所述訪問(wèn)控制列表類(lèi)型元素可包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度,具體定義參見(jiàn)上述說(shuō)明,這里不再贅述。
[0217]匹配處理模塊13,用于在預(yù)先保存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配;
[0218]具體實(shí)現(xiàn)時(shí),匹配處理模塊13可讀取預(yù)先保存的訪問(wèn)控制列表配置文件,其中所述的訪問(wèn)控制列表配置文件可以文本形式保存,然后根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配。
[0219]授權(quán)控制處理模塊14,用于根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。
[0220]需要說(shuō)明的,本實(shí)施例中,當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制的維度時(shí),可以增加新的訪問(wèn)控制元素類(lèi)型;而當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),本實(shí)施例中可通過(guò)擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義即可實(shí)現(xiàn),另外,當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件即可實(shí)現(xiàn),而無(wú)需像現(xiàn)有技術(shù)一樣修改數(shù)據(jù)庫(kù),另外,本實(shí)施例中由于支持匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度等各種高級(jí)別的權(quán)限控制需求,因此,系統(tǒng)設(shè)計(jì)的復(fù)雜度不會(huì)明顯提高。
[0221]在上述所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0222]類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0223]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。
【主權(quán)項(xiàng)】
1.一種業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其特征在于,包括: 接收用戶(hù)的授權(quán)請(qǐng)求; 獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù); 在預(yù)存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配; 根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。2.根據(jù)權(quán)利要求1所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其特征在于,所述訪問(wèn)控制列表匹配數(shù)據(jù)是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù)。3.根據(jù)權(quán)利要求2所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其特征在于,所述訪問(wèn)控制列表類(lèi)型元素包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度。4.根據(jù)權(quán)利要求3所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其特征在于,還包括: 當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義。5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其特征在于,所述的訪問(wèn)控制列表配置文件以文本形式保存。6.根據(jù)權(quán)利要求5所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制方法,其特征在于,還包括: 當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件。7.一種業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其特征在于,包括: 接收處理模塊,用于接收用戶(hù)的授權(quán)請(qǐng)求; 獲取處理模塊,用于獲取所述用戶(hù)的授權(quán)請(qǐng)求中攜帶的訪問(wèn)控制列表匹配數(shù)據(jù); 匹配處理模塊,用于在預(yù)先保存的訪問(wèn)控制列表配置文件中根據(jù)所述訪問(wèn)控制列表匹配數(shù)據(jù)進(jìn)行訪問(wèn)控制列表匹配; 授權(quán)控制處理模塊,用于根據(jù)匹配的訪問(wèn)控制列表進(jìn)行該用戶(hù)權(quán)限的授權(quán)控制。8.根據(jù)權(quán)利要求7所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其特征在于,所述訪問(wèn)控制列表匹配數(shù)據(jù)是用戶(hù)匹配的一個(gè)或多個(gè)訪問(wèn)控制列表類(lèi)型元素?cái)?shù)據(jù)。9.根據(jù)權(quán)利要求8所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其特征在于,所述訪問(wèn)控制列表類(lèi)型元素包括以下一項(xiàng)或多項(xiàng):匹配用戶(hù)名、匹配角色、匹配數(shù)據(jù)傳輸方法、匹配操作代碼、匹配資源、匹配參數(shù)、匹配控制時(shí)間、匹配用戶(hù)的IP地址或匹配用戶(hù)對(duì)資源的操作頻度。10.根據(jù)權(quán)利要求9所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其特征在于,還包括: 當(dāng)需要更改用戶(hù)權(quán)限控制的顆粒度時(shí),擴(kuò)展對(duì)相應(yīng)訪問(wèn)控制列表類(lèi)型元素的定義。11.根據(jù)權(quán)利要求7-10任一項(xiàng)所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其特征在于,所述的訪問(wèn)控制列表配置文件以文本形式保存。12.根據(jù)權(quán)利要求11所述的業(yè)務(wù)管理系統(tǒng)的用戶(hù)權(quán)限控制系統(tǒng),其特征在于,還包括: 當(dāng)需要擴(kuò)展用戶(hù)權(quán)限控制數(shù)據(jù)時(shí),修改訪問(wèn)控制列表配置文件。13.—種業(yè)務(wù)管理系統(tǒng),包括業(yè)務(wù)系統(tǒng)和如權(quán)利要求7-12所述的用戶(hù)權(quán)限控制系統(tǒng)。
【文檔編號(hào)】H04L29/06GK105871813SQ201610159042
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年3月18日
【發(fā)明人】董京濤, 邱丹, 馬強(qiáng), 李 杰, 李明杰, 林岳, 顧思斌, 潘柏宇, 王冀
【申請(qǐng)人】合網(wǎng)絡(luò)技術(shù)(北京)有限公司, 合一網(wǎng)絡(luò)技術(shù)(北京)有限公司