中文字幕无码日韩视频无码三区

一種基于會話的權限控制方法和系統與流程

文檔序號:11460135閱讀:344來源:國知局
一種基于會話的權限控制方法和系統與流程

本發明涉及訪問權限管理技術領域,特別是涉及一種基于會話的權限控制方法和系統。



背景技術:

隨著科學技術的發展,越來越多的互聯網用戶通過遠程訪問的方式來獲取外部網絡的共享資源。想要實現遠程訪問,就需要用戶的客戶端通過遠程登錄的方式連接到服務器,然后由服務器調取數據庫中的相應信息返回至客戶端。

然而,在互聯網應用中,服務器為不同的用戶提供不同的服務,即不同的客戶端具有不同的相應訪問權限。各客戶端只能在自身的訪問權限范圍內獲取數據庫中的信息。通常情況下,當用戶在進行遠程訪問時,服務器進行系統調用權限的判斷,通常情況下直接作用于文件系統的數據(文件和目錄)和數據庫連接,所謂的系統調用指的是進程陷入操作系統內核執行系統功能的調用,如創建文件、修改文件和執行程序。而系統權限通常指的是系統調用時的權限,典型情況下,權限通常由文件屬性和進程運行的所屬用戶組決定。當進程執行系統調用時就會受到進程用戶和文件的屬性的局限。

因而,如何實現當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制,是本領域技術人員目前需要解決的技術問題。



技術實現要素:

本發明的目的是提供一種基于會話的權限控制方法和系統,可以實現當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制。

為解決上述技術問題,本發明提供了如下技術方案:

一種基于會話的權限控制方法,包括:

在應用程序的進程進行系統調用時,獲取該系統調用所屬的會話;

根據所述會話獲取對應的會話權限;

根據各所述會話對應的會話權限控制當前系統調用。

優選地,所述根據所述會話獲取對應的會話權限,包括:

識別所述會話所屬的角色的身份信息;

根據所述角色的身份信息獲取該角色的權限配置。

優選地,所述識別所述會話所屬的角色的身份信息,包括:

獲取所述會話發起者的ip地址;

根據所述ip地址獲取所述會話所述的角色的身份信息。

優選地,所述識別所述會話所屬的角色的身份信息,包括:

預先建立中間代理;

通過所述中間代理獲取所述會話的請求內容;

通過所述中間代理判斷所述請求內容中是否包含預設的代表該會話所述的角色的身份的認證信息;

若是,則通過所述中間代理識別所述認證信息對應的角色的身份信息。

優選地,所述識別所述會話所屬的角色的身份信息,包括:

預先建立用于預設角色通訊的虛擬通訊網絡隧道;

對所述會話的來源隧道進行識別,以判斷所述會話所屬的角色的身份信息。

一種基于會話的權限控制系統,包括:

第一獲取模塊,用于在應用程序的進程進行系統調用時,獲取該系統調用所屬的會話;

第二獲取模塊,用于根據所述會話獲取對應的會話權限;

控制模塊,用于根據各所述會話對應的會話權限控制當前系統調用。

優選地,所述第二獲取模塊包括:

識別單元,用于識別所述會話所屬的角色的身份信息;

權限獲取單元,用于根據所述角色的身份信息獲取該角色的權限配置。

優選地,所述識別單元包括:

第一獲取子單元,用于獲取所述會話發起者的ip地址;

第二獲取子單元,用于根據所述ip地址獲取所述會話所述的角色的身份信息。

優選地,所述識別單元包括:

中間代理子單元,用于獲取所述會話的請求內容,并判斷所述請求內容中是否包含預設的代表該會話所述的角色的身份的認證信息,并在判定所述請求內容中包含認證信息時,識別所述認證信息對應的角色的身份信息。

優選地,所述識別單元包括:

隧道建立子單元,用于預先建立用于預設角色通訊的虛擬通訊網絡隧道;

識別子單元,用于對所述會話的來源隧道進行識別,以判斷所述會話所屬的角色的身份信息。

與現有技術相比,上述技術方案具有以下優點:

本發明實施例所提供的一種基于會話的權限控制方法,包括:在應用程序的進程進行系統調用時,獲取該系統調用所屬的會話;根據會話獲取對應的會話權限;根據各會話對應的會話權限控制當前系統調用。對于應用程序的進程對系統調用引入了會話權限的檢查來對于服務器中進行系統調用時的權限進行檢查校驗,以控制應用程序的權限,實現了當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發明一種具體實施方式所提供的基于會話的權限控制方法流程圖;

圖2為本發明一種具體實施方式所提供的基于會話的權限控制系統結構示意圖。

具體實施方式

本發明的核心是提供一種基于會話的權限控制方法和系統,可以實現當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制。

為了使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施方式做詳細的說明。

在以下描述中闡述了具體細節以便于充分理解本發明。但是本發明能夠以多種不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發明內涵的情況下做類似推廣。因此本發明不受下面公開的具體實施方式的限制。

請參考圖1,圖1為本發明一種具體實施方式所提供的基于會話的權限控制方法流程圖。

本發明的一種具體實施方式提供了一種基于會話的權限控制方法,包括:

s11:在應用程序的進程進行系統調用時,獲取該系統調用所屬的會話;

s12:根據會話獲取對應的會話權限;

s13:根據各會話對應的會話權限控制當前系統調用。

在本實施方式中,當客戶端通過預設的應用程序來訪問服務器,以獲取數據庫中的數據時,客戶端和服務器之間會建立關于系統調用的會話。不同的客戶端根據自身角色的不同而具有不同的權限配置,因此,根據會話即可獲取對應的會話權限。只有當系統調用的數據通過會話權限的檢查時,此時才執行當前系統調用,當當前系統調用執行完成后進行系統調用返回,執行新的系統調用。

其中,會話權限即表示了該會話對應的角色的訪問權限,從而在判斷系統調用是否符合權限時,無需再去判斷系統調用的文件屬性和進行運行的所屬用戶的屬性,極大地簡化了權限的判斷過程。對于應用程序的進程對系統調用引入了會話權限,來控制應用程序的權限,實現了當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制。

需要說明的是,在本文中的整個通訊服務過程中,系統調用主要包括應用程序對磁盤文件系統進行文件讀寫系統調用,和應用程序對數據庫程序的數據庫連接讀寫的系統調用。在這兩種情況下進行系統調用時進行權限的檢查判斷。

還需要說明的是,系統調用還包括數據庫程序對數據庫數據進行數據讀寫的系統調用,由于在技術上權限檢查的意義不大,因此,在本實施方式中,可以不對此處的系統調用進行權限檢查判斷。

在本發明的一種實施方式中,根據會話獲取對應的會話權限,包括:識別會話所屬的角色的身份信息;根據角色的身份信息獲取該角色的權限配置。

在本實施方式中,角色即指用戶身份,在系統中一個身份擁有一組操作權限配置。要想知道客戶端的權限,在本實施方式中就通過客戶端建立的會話所屬的角色的身份信息,即識別發起該該會話的客戶端的身份,只有了解了該客戶端的身份,服務器才能賦予該客戶端對應的權限來進行系統調用。

在本發明的一種實施方式中,識別會話所屬的角色的身份信息,包括:獲取會話發起者的ip地址;根據ip地址獲取會話的角色的身份信息。

在本實施方式中,通過讀取會話的發起者的ip地址來識別發起會話的客戶端的身份。如當有兩個客戶端訪問服務器時,客戶端a的ip地址為192.168.1.1,其身份為管理員,權限為“所有”;客戶端b的ip地址為123.45.67.89.其身份為普通用戶,權限為“部分”。則當某一客戶端訪問服務器并發起會話時,服務器讀取發起會話的客戶端的ip地址,根據其ip地址即可獲取該客戶端的身份信息,如讀取的是客戶端a的ip地址,則判定此時的客戶端為管理員,相應地,即可服務該客戶端對應的權限來控制當前的系統調用。由于各客戶端均具有一個唯一的、不同于其他客戶端的ip地址,因此,通過識別發起會話的客戶端的ip地址,即可識別客戶端的身份,并調取對應的權限來控制系統調用。

在本發明的另一種實施方式中,識別會話所屬的角色的身份信息,包括:預先建立中間代理;通過中間代理獲取會話的請求內容;通過中間代理判斷請求內容中是否包含預設的代表該會話所述的角色的身份的認證信息;若是,則通過中間代理識別認證信息對應的角色的身份信息。

在本實施方式中,使用二次認證來進行角色的識別。即在二次認證中引入中間代理,使得所有到達服務器的數據先經過中間代理,中間代理對連接進行認證后再傳遞給服務器進行請求。

具體地,以上述實施方式中以會話發起者的ip地址來獲取會話的角色的身份信息為例,通常情況下一臺計算機對應一個ip地址,也就是說通過某一臺計算機進行系統調用時,通過該計算機的ip地址可以識別出該計算機進行系統調用時的所有權限。但是當用戶使用其他的計算機時,由于新的計算機的ip地址和原計算機ip地址不同,此時就難以識別操作者的權限,因此,在本實施方式中采用了二次認證的方法,通過中間代理來對當前計算機的請求內容進行分析,以實現對當前計算機的用戶的身份進行認證,這樣使得用戶無論是在原先預設的計算機還是其他計算機上進行操作時,服務器均可識別出用戶的身份,從而判斷出其權限。

客戶端向中間代理發送請求內容,中間代理返回需要認證的信號,客戶端再將帶認證信息的請求內容發送至中間代理,在中間代理通過認證后,再將請求內容和相關的角色信息發送至服務器,服務器將答復內容返回至客戶端。在這個過程中,由中間代理來識別發起會話的客戶端的身份。

在本發明的另一種實施方式中,識別會話所屬的角色的身份信息,包括:預先建立用于預設角色通訊的虛擬通訊網絡隧道;對會話的來源隧道進行識別,以判斷會話所屬的角色的身份信息。

在本實施方式中,采用隧道方式進行角色識別。在該過程中,客戶端通過與服務器建立虛擬專用通訊網絡隧道,通過區分來源隧道來進行角色的識別。如當客戶端角色分為管理員和普通用戶時,管理員客戶端和服務器進行通訊的隧道為虛擬專用通訊網絡隧道,而普通用戶客戶端和服務器進行通訊的隧道為普通網絡訪問,這樣,當客戶端和服務器建立會話時,只需識別會話的來源隧道即可判定會話所屬的角色的身份信息。

請參考圖2,圖2為本發明一種具體實施方式所提供的基于會話的權限控制系統結構示意圖。

相應地,本發明一種實施方式還提供了一種基于會話的權限控制系統,包括:第一獲取模塊21,用于在應用程序的進程進行系統調用時,獲取該系統調用所屬的會話;第二獲取模塊22,用于根據會話獲取對應的會話權限;控制模塊23,用于根據各會話對應的會話權限控制當前系統調用。

進一步地,第二獲取模塊包括:識別單元,用于識別會話所屬的角色的身份信息;權限獲取單元,用于根據角色的身份信息獲取該角色的權限配置。

在本實施方式中,當客戶端通過預設的應用程序來訪問服務器,以獲取數據庫中的數據時,客戶端和服務器之間會建立關于系統調用的會話。不同的客戶端根據自身角色的不同而具有不同的權限配置,因此,根據會話即可獲取對應的會話權限。只有當系統調用的數據通過會話權限的檢查時,此時才執行當前系統調用,當當前系統調用執行完成后進行系統調用返回,執行新的系統調用。

其中,會話權限即表示了該會話對應的角色的訪問權限,在本實施方式中,第一獲取模塊獲取進行系統調用時系統調用所屬的會話,即獲取客戶端和服務器建立的會話,通過第二獲取模塊獲取會話對應的會話權限,即獲取客戶端的權限配置,從而在判斷系統調用是否符合權限時,無需再去判斷系統調用的文件屬性和進行運行的所屬用戶的屬性,極大地簡化了權限的判斷過程。對于應用程序的進程對系統調用引入了會話權限,來控制應用程序的權限,實現了當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制。

在本發明的一種實施方式中,識別單元包括:第一獲取子單元,用于獲取會話發起者的ip地址;第二獲取子單元,用于根據ip地址獲取會話的角色的身份信息。在本實施方式中,通過會話的對端ip進行角色的識別,當該會話的發起者的ip地址和角色的配置相匹配時,該會話識別是該角色。

在本發明的另一種實施方式中,識別單元包括:中間代理子單元,用于獲取會話的請求內容,并判斷請求內容中是否包含預設的代表該會話所述的角色的身份的認證信息,并在判定請求內容中包含認證信息時,識別認證信息對應的角色的身份信息。

在本實施方式中,通過建立中間代理子單元來使用二次認證進行角色的識別。即在二次認證中引入中間代理,使得所有到達服務器的數據先經過中間代理,中間代理對連接進行認證后再傳遞給服務器進行請求。

在本發明的另一種實施方式中,識別單元包括:隧道建立子單元,用于預先建立用于預設角色通訊的虛擬通訊網絡隧道;識別子單元,用于對會話的來源隧道進行識別,以判斷會話所屬的角色的身份信息。

在本實施方式中,采用隧道方式進行角色識別。在該過程中,客戶端通過與服務器建立虛擬專用通訊網絡隧道,通過區分來源隧道來進行角色的識別。如當客戶端角色分為管理員和普通用戶時,管理員客戶端和服務器進行通訊的隧道為虛擬專用通訊網絡隧道,而普通用戶客戶端和服務器進行通訊的隧道為普通網絡訪問,這樣,當客戶端和服務器建立會話時,只需識別會話的來源隧道即可判定會話所屬的角色的身份信息。

綜上所述,本發明所提供的基于會話的權限控制方法和系統,對于應用程序的進程對系統調用引入了會話權限的檢查來對于服務器中進行系統調用時的權限進行檢查校驗,以控制應用程序的權限,實現了當進程執行系統調用時不局限于進程用戶和文件的屬性而進行權限的控制。

以上對本發明所提供的一種基于會話的權限控制方法和系統進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1