【具體實施方式】
實施例
[0022]本實施例涉及一個企業(yè)內(nèi)部的局域網(wǎng),該局域網(wǎng)內(nèi)設(shè)有有多臺信息子系統(tǒng),每臺信息子系統(tǒng)上設(shè)有帶個客戶端。[0023 ]本實施例的單點登陸方法包括以下步驟:
I)如圖3所示,在所述局域網(wǎng)內(nèi)安裝網(wǎng)絡(luò)控制器,并在所述網(wǎng)絡(luò)控制器上安裝CAS服務(wù)器,所述網(wǎng)絡(luò)控制器與轉(zhuǎn)發(fā)面通過OpenFlow協(xié)議連接;所述轉(zhuǎn)發(fā)面是局域網(wǎng)內(nèi)負責數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)的交換機、路由器和網(wǎng)關(guān);所述網(wǎng)絡(luò)控制器用于對局域網(wǎng)進行集中控制并實現(xiàn)OpenFl ow協(xié)議中控制面的功能。
[0024]本實施例在網(wǎng)絡(luò)控制器上安裝輕量級HTTP引擎Iighttpd來實現(xiàn)CAS服務(wù)器的功能,向用戶(即客戶端等)提供CAS單點登錄界面。在網(wǎng)絡(luò)控制器上部署登錄頁面和警告頁面等HTML資源。這些頁面允許用戶安裝設(shè)備時上傳定制。
[0025]2)關(guān)閉每個信息子系統(tǒng)的登陸功能,在每個信息子系統(tǒng)及其連接的客戶端上均安裝預(yù)設(shè)的用于讀寫IP包頭部信息的網(wǎng)絡(luò)協(xié)議模塊;在所述CAS服務(wù)器上一一對應(yīng)配置每個信息子系統(tǒng)的訪問接口,所述訪問接口復(fù)制每個信息子系統(tǒng)中的訪問控制邏輯。
[0026]在網(wǎng)絡(luò)控制器上實現(xiàn)單點登錄邏輯,并在網(wǎng)絡(luò)控制器上維護用戶登錄角色權(quán)限數(shù)據(jù)庫(當然也可以是外部登錄數(shù)據(jù)庫接口)并配以用戶數(shù)據(jù)Cache。這樣可以避免每個子系統(tǒng)修改自己的訪問控制邏輯相關(guān)的代碼。因為典型的技術(shù)平臺個數(shù)有限,同種技術(shù)平臺上用于用戶身份認證的方式固定(如Java Web程序中,都使用HTTP Sess1n來維護子系統(tǒng)中的訪問控制邏輯),所以訪問接口的開發(fā)并不是常態(tài)事件。
[0027]本實施例中預(yù)設(shè)的網(wǎng)絡(luò)協(xié)議模塊為IPSec協(xié)議棧。IPSec協(xié)議棧工作在網(wǎng)絡(luò)層,其使用是為了方便客戶端或信息子系統(tǒng)將Ticket作為IP頭部信息加到IP包中。
[0028]3)所述客戶端發(fā)出訪問請求,所述訪問請求的目標地址所指向的服務(wù)器包括所述信息子系統(tǒng)和所述局域網(wǎng)以外的網(wǎng)絡(luò)服務(wù)器,所述客戶端上的網(wǎng)絡(luò)協(xié)議模塊將該客戶端的Sess1n中的與所述目標地址對應(yīng)的認證信息作為IP頭部信息添加到客戶端發(fā)出的請求數(shù)據(jù)的IP包中。
[0029]4)所述轉(zhuǎn)發(fā)面接收所述IP包,并將該IP包轉(zhuǎn)發(fā)至所述CAS服務(wù)器上與所述目標地址相對應(yīng)的訪問接口,并由該訪問接口對所述目標地址對應(yīng)的認證信息進行身份認證,如果通過身份驗證,則所述轉(zhuǎn)發(fā)面將通過身份驗證的IP包轉(zhuǎn)發(fā)至所述目標地址所指向的信息子系統(tǒng)。
[0030]5)如果所述IP包沒有通過身份驗證且該IP包中不包含Ticket,則所述CAS服務(wù)器將CAS登陸頁面通過所述轉(zhuǎn)發(fā)面返回至發(fā)出訪問請求的客戶端,由該客戶端輸入登陸信息并生成目標地址對應(yīng)的Ticket,然后由所述客戶端的網(wǎng)絡(luò)協(xié)議模塊將該Ticket添加到所述IP包中并將該IP包發(fā)送到轉(zhuǎn)發(fā)面,再重復(fù)執(zhí)行步驟4)和步驟5);
如果所述IP包沒有通過身份驗證且該IP包中含有與所述目標地址對應(yīng)的Ticket,則所述CAS服務(wù)器利用該Ticket生成所述目標地址對應(yīng)的認證信息,并將該認證信息保存到所述客戶端的Sess1n中,然后由所述客戶端的網(wǎng)絡(luò)協(xié)議模塊將所述目標地址對應(yīng)的認證信息作為IP頭部信息添加到所述IP包中并將該IP包發(fā)送到轉(zhuǎn)發(fā)面,再重復(fù)執(zhí)行步驟4)和步驟
5)0
[0031]本發(fā)明可以作以下改進:所述步驟4)中所述轉(zhuǎn)發(fā)面接收到所述IP包后,所述轉(zhuǎn)發(fā)面檢查所述IP包的目標地址信息,如果該IP包的目標地址信息與所述局域網(wǎng)中的任一信息子系統(tǒng)的地址信息均不對應(yīng),則所述轉(zhuǎn)發(fā)面將所述IP包直接轉(zhuǎn)發(fā)至該目標地址信息所指向的所述局域網(wǎng)以外的網(wǎng)絡(luò)服務(wù)器。
[0032]這樣,本發(fā)明在安裝有IPSec協(xié)議棧的客戶端上對某信息子系統(tǒng)發(fā)起了訪問,其發(fā)出的IP包在經(jīng)過轉(zhuǎn)發(fā)面轉(zhuǎn)發(fā)至網(wǎng)絡(luò)控制器進行檢查。網(wǎng)絡(luò)控制器檢查IP包的傳輸目標地址,發(fā)現(xiàn)屬于要監(jiān)控的信息子系統(tǒng),則對其進行進一步檢查,否則直接放行。這樣,信息子系統(tǒng)收到的訪問請求,一定是攜帶有認證信息的合法請求。至于是否在信息子系統(tǒng)中進行“額夕卜”的訪問控制動作取決于各信息子系統(tǒng)中的配置,其只影響系統(tǒng)性能而不影響登陸。
[0033]另外,假設(shè)一個來自于外網(wǎng)的客戶,其客戶端機器上未曾安裝IPSec協(xié)議棧,該客戶端試圖訪問局域網(wǎng)內(nèi)某信息子系統(tǒng)時,其IP包一樣可以經(jīng)過網(wǎng)絡(luò)控制器的檢查。網(wǎng)絡(luò)控制器在持有的有效客戶端清單中搜索客戶端進程記錄,如果有記錄存在,則為客戶IP包恢復(fù)之前的Ticket,進行后繼處理。如果記錄不存在,則將其視為未登錄客戶,返回登錄頁面并將其加入到IP包的頭部信息中。這樣下次該客戶端的新請求進入時,之前新建的IP包的頭部信息將會被恢復(fù)到新請求的IP包中。
[0034]事實上,網(wǎng)絡(luò)控制器也可以將Ticket作為HTTP Cookie加入到客戶請求中,但是為了能在更低的層面上實施訪問控制,本發(fā)明只將這些方法視為備案。在IP數(shù)據(jù)包層面上實施訪問控制的另一個好處是讓基于C/S架構(gòu)的子系統(tǒng)也有可能被本單點登錄系統(tǒng)統(tǒng)一管理起來。
[0035]本發(fā)明不局限于上述實施例所述的具體技術(shù)方案,除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換形成的技術(shù)方案,均為本發(fā)明要求的保護范圍。
【主權(quán)項】
1.一種基于網(wǎng)絡(luò)控制器的局域網(wǎng)單點登錄方法,所述局域網(wǎng)設(shè)有若干相互連接的信息子系統(tǒng),每個信息子系統(tǒng)均連接有多個客戶端;所述方法包括以下步驟: 1)在所述局域網(wǎng)內(nèi)安裝網(wǎng)絡(luò)控制器,并在所述網(wǎng)絡(luò)控制器上安裝CAS服務(wù)器,所述網(wǎng)絡(luò)控制器與轉(zhuǎn)發(fā)面通過OpenFlow協(xié)議連接;所述轉(zhuǎn)發(fā)面是局域網(wǎng)內(nèi)負責數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)的交換機、路由器和網(wǎng)關(guān);所述網(wǎng)絡(luò)控制器用于對局域網(wǎng)進行集中控制并實現(xiàn)OpenFlow協(xié)議中控制面的功能; 2)關(guān)閉每個信息子系統(tǒng)的登陸功能,在每個信息子系統(tǒng)及其連接的客戶端上均安裝預(yù)設(shè)的用于讀寫IP包頭部信息的網(wǎng)絡(luò)協(xié)議模塊;在所述CAS服務(wù)器上一一對應(yīng)配置每個信息子系統(tǒng)的訪問接口,所述訪問接口復(fù)制每個信息子系統(tǒng)中的訪問控制邏輯; 3)所述客戶端發(fā)出訪問請求,所述訪問請求的目標地址所指向的服務(wù)器包括所述信息子系統(tǒng)和所述局域網(wǎng)以外的網(wǎng)絡(luò)服務(wù)器,所述客戶端上的網(wǎng)絡(luò)協(xié)議模塊將該客戶端的Sess1n中的與所述目標地址對應(yīng)的認證信息作為IP頭部信息添加到客戶端發(fā)出的請求數(shù)據(jù)的IP包中; 4)所述轉(zhuǎn)發(fā)面接收所述IP包,并將該IP包轉(zhuǎn)發(fā)至所述CAS服務(wù)器上與所述目標地址相對應(yīng)的訪問接口,并由該訪問接口對所述目標地址對應(yīng)的認證信息進行身份認證,如果通過身份驗證,則所述轉(zhuǎn)發(fā)面將通過身份驗證的IP包轉(zhuǎn)發(fā)至所述目標地址所指向的信息子系統(tǒng); 5)如果所述IP包沒有通過身份驗證且該IP包中不包含Ticket,則所述CAS服務(wù)器將CAS登陸頁面通過所述轉(zhuǎn)發(fā)面返回至發(fā)出訪問請求的客戶端,由該客戶端輸入登陸信息并生成目標地址對應(yīng)的Ticket,然后由所述客戶端的網(wǎng)絡(luò)協(xié)議模塊將該Ticket添加到所述IP包中并將該IP包發(fā)送到轉(zhuǎn)發(fā)面,再重復(fù)執(zhí)行步驟4)和步驟5); 如果所述IP包沒有通過身份驗證且該IP包中含有與所述目標地址對應(yīng)的Ticket,則所述CAS服務(wù)器利用該Ticket生成所述目標地址對應(yīng)的認證信息,并將該認證信息保存到所述客戶端的Sess1n中,然后由所述客戶端的網(wǎng)絡(luò)協(xié)議模塊將所述目標地址對應(yīng)的認證信息作為IP頭部信息添加到所述IP包中并將該IP包發(fā)送到轉(zhuǎn)發(fā)面,再重復(fù)執(zhí)行步驟4)和步驟5)02.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)控制器的局域網(wǎng)單點登錄方法,其特征在于:所述網(wǎng)絡(luò)協(xié)議模塊為IPSec協(xié)議棧。3.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)控制器的局域網(wǎng)單點登錄方法,其特征在于:所述步驟4)中所述轉(zhuǎn)發(fā)面接收到所述IP包后,所述轉(zhuǎn)發(fā)面檢查所述IP包的目標地址信息,如果該IP包的目標地址信息與所述局域網(wǎng)中的任一信息子系統(tǒng)的地址信息均不對應(yīng),則所述轉(zhuǎn)發(fā)面將所述IP包直接轉(zhuǎn)發(fā)至該目標地址信息所指向的所述局域網(wǎng)以外的網(wǎng)絡(luò)服務(wù)器。
【專利摘要】本發(fā)明涉及一種基于網(wǎng)絡(luò)控制器的局域網(wǎng)單點登錄方法,該方法首先在局域網(wǎng)內(nèi)安裝帶有CAS服務(wù)器的網(wǎng)絡(luò)控制器,該網(wǎng)絡(luò)控制器與轉(zhuǎn)發(fā)面通過OpenFlow協(xié)議連接;然后關(guān)閉信息子系統(tǒng)的登陸功能,并在客戶端上均安裝預(yù)設(shè)的網(wǎng)絡(luò)協(xié)議模塊;在所述CAS服務(wù)器上一一對應(yīng)配置每個信息子系統(tǒng)的訪問接口,訪問接口復(fù)制信息子系統(tǒng)中原有的訪問控制邏輯;當客戶端發(fā)出訪問請求時,將Ticket作為IP頭部信息添加到請求數(shù)據(jù)的IP包中;轉(zhuǎn)發(fā)面將該IP包轉(zhuǎn)發(fā)至所述CAS服務(wù)器上相對應(yīng)的訪問接口,并由該訪問接口進行身份認證。該方法對現(xiàn)有的所有子系統(tǒng)進行統(tǒng)一整合,實現(xiàn)用戶只需登錄一次,便可根據(jù)用戶權(quán)限訪問局域網(wǎng)內(nèi)相應(yīng)多個子系統(tǒng)的單點登陸。
【IPC分類】H04L29/06
【公開號】CN105577686
【申請?zhí)枴緾N201610058862
【發(fā)明人】高莉莎, 胡勇, 楊少雄, 王春芹, 陳璐, 應(yīng)毅
【申請人】江蘇省電力公司南京供電公司, 國家電網(wǎng)公司, 江蘇省電力公司, 三江學(xué)院
【公開日】2016年5月11日
【申請日】2016年1月28日