欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于JAAS和AspectJ的機群管理系統(tǒng)認(rèn)證和授權(quán)的方法

文檔序號:7884488閱讀:200來源:國知局
專利名稱:一種基于JAAS和AspectJ的機群管理系統(tǒng)認(rèn)證和授權(quán)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機應(yīng)用技術(shù),具體地說是機群管理中的安全技術(shù),或涉及一種基于JAAS和AspectJ的機群管理系統(tǒng)認(rèn)證和授權(quán)的方法。
2、背景技術(shù)機群就是通過高性能網(wǎng)絡(luò)或局部網(wǎng)將一組計算機系統(tǒng)(結(jié)點)互聯(lián),形成的具有單一系統(tǒng)映像的高性能、高可用、高可擴展性、高性能價格比的計算機機群系統(tǒng)。由于其相對于傳統(tǒng)的大型機的高可用性和低價格的優(yōu)勢,用機群構(gòu)造超級計算機或超級服務(wù)器成為一種流行的趨勢。但是機群系統(tǒng)結(jié)構(gòu)松散、結(jié)點獨立性強、網(wǎng)絡(luò)連接復(fù)雜,并且,隨著結(jié)點數(shù)的增加,對機群的管理和維護變的越來越困難,增加了系統(tǒng)的總擁有成本。
為了管理和維護機群系統(tǒng),目前流行的方式是在各結(jié)點機的操作系統(tǒng)之上再建一層操作系統(tǒng)軟件來管理整個機群,稱之為機群操作系統(tǒng)或者叫做機群管理系統(tǒng)。機群管理系統(tǒng)是機群系統(tǒng)軟件的一部分,幾乎處于系統(tǒng)軟件的最頂層,它對整個機群的軟、硬件起到管理的作用,為機群的系統(tǒng)管理員和最終用戶提供服務(wù)。機群系統(tǒng)的一個基本特點是“整個系統(tǒng)呈現(xiàn)給用戶的是單一系統(tǒng)的映像”,機群管理為這一目標(biāo)的實現(xiàn)應(yīng)提供在單一控制臺上包括對機群的規(guī)劃、安裝、配置、監(jiān)控、日常維護、開機關(guān)機等管理系統(tǒng)全過程的控制支持。機群管理系統(tǒng)應(yīng)提供一套多功能、易使用、可擴展的實用化管理工具,幫助管理員監(jiān)控整個機群的工作狀態(tài),保證機群系統(tǒng)高效、穩(wěn)定的運行。
由于管理系統(tǒng)能夠管理整個機群的軟、硬件資源,在提供了管理系統(tǒng)方便性的同時,也增加了系統(tǒng)安全方面的風(fēng)險,如果沒有用戶認(rèn)證和授權(quán)的管理機制,管理系統(tǒng)的用戶可以任意操作系統(tǒng)的資源,給系統(tǒng)的安全帶來損害。機群的管理功能異常豐富,管理命令多達上百個,同時根據(jù)用戶的要求,可能隨時添加新的管理功能,新的認(rèn)證方法,改變不同用戶在不同結(jié)點上的權(quán)限,這些要求對于管理系統(tǒng)認(rèn)證和授權(quán)的靈活性是一項非常大的挑戰(zhàn)。
3、發(fā)明內(nèi)容對于目前機群管理中存在關(guān)于認(rèn)證和授權(quán)的方法與管理功能緊密耦合的問題,對于管理系統(tǒng)的功能的開發(fā)與認(rèn)證和授權(quán)的功能交織在一起的問題,開發(fā)管理功能的人員需要在自己的代碼中嵌入認(rèn)證和授權(quán)的邏輯,并且由于機群的結(jié)點獨立的特殊性,每個管理命令在不同的結(jié)點上可能有不同的權(quán)限問題。針對上述問題,本發(fā)明提出以java語言開發(fā)的一種基于JAAS和AspectJ的機群管理系統(tǒng)中認(rèn)證和授權(quán)的方法,該方法可以利用JAAS和AspectJ的技術(shù)特性,不需要在普通的管理命令中嵌入認(rèn)證和授權(quán)代碼,就可以實現(xiàn)方法級別和結(jié)點級別的認(rèn)證和訪問控制,實現(xiàn)了管理系統(tǒng)的業(yè)務(wù)邏輯與安全邏輯的松散耦合,簡化了管理系統(tǒng)的開發(fā)復(fù)雜性、提供了更加靈活的安全需求。
本發(fā)明的目的提一種基于JAAS(Java Authentication AuthorizationService)和AspectJ的機群管理系統(tǒng)中認(rèn)證和授權(quán)的方法,該方法可以利用JAAS和AspectJ特性,不需要在通常的管理命令中嵌入認(rèn)證和授權(quán)代碼,就可以實現(xiàn)方法級別和結(jié)點級別的認(rèn)證和訪問控制,實現(xiàn)了管理系統(tǒng)的業(yè)務(wù)邏輯與安全邏輯的松散耦合。
通過JAAS程序和AspectJ程序相互配合把認(rèn)證和授權(quán)的邏輯從系統(tǒng)程序中分離出來,并利用JAAS程序的配置文件配置用戶認(rèn)證和授權(quán)信息,以及利用AspectJ程序編譯器把授權(quán)邏輯和機群管理系統(tǒng)的通用邏輯交織在一起對用戶進行認(rèn)證和授權(quán),該方法包括以下步驟a、JAAS程序為機群系統(tǒng)中的每個結(jié)點分別設(shè)置不同的標(biāo)識符,然后以機群系統(tǒng)中結(jié)點為單位區(qū)分被訪問的系統(tǒng)資源;b、JAAS程序為機群管理系統(tǒng)設(shè)定用戶是以用戶名為唯一被區(qū)分認(rèn)證的實體,通過調(diào)用機群管理系統(tǒng)的軟件對用戶進行區(qū)分認(rèn)證;c、利用JAAS程序的用戶認(rèn)證信息和授權(quán)信息可配置性,將用戶的認(rèn)證和授權(quán)邏輯變化從通用的管理系統(tǒng)的邏輯中分離出來;d、利用AspectJ程序的編譯技術(shù)把授權(quán)檢查注入到通用的業(yè)務(wù)方法中,利用結(jié)點標(biāo)識、用戶標(biāo)識和切入方法名稱信息完成對切入方法的執(zhí)行權(quán)限檢查。
JAAS程序還利用以機群系統(tǒng)中若干結(jié)點組成的結(jié)點組為資源單位標(biāo)識對資源進行區(qū)分。
利用JAAS程序的配置文件配置用戶在不同結(jié)點執(zhí)行不同的管理功能對用戶進行認(rèn)證和授權(quán),比如添加/刪除用戶、開機/關(guān)機、網(wǎng)絡(luò)配置等手段對用戶進行認(rèn)證和授權(quán)。
JAAS程序利用用戶登錄的上下文、結(jié)點名稱、方法名稱,檢查不同用戶在不同結(jié)點上執(zhí)行不同操作的權(quán)限對用戶進行認(rèn)證和授權(quán)。
利用JAAS程序的配置文件實現(xiàn)多種認(rèn)證方法和授權(quán)策略從通用系統(tǒng)程序邏輯中的分離,即不把認(rèn)證和授權(quán)的邏輯寫入系統(tǒng)程序中,而是把認(rèn)證和授權(quán)的邏輯寫入配置文件中,由系統(tǒng)程序讀取配置文件,根據(jù)配置文件的要求進行相關(guān)的認(rèn)證和授權(quán),解除系統(tǒng)管理邏輯與多種認(rèn)證和授權(quán)邏輯的耦合。
AspectJ程序利用Aspect Oriented Programming的編程技術(shù),分離具體的通用系統(tǒng)管理邏輯和安全邏輯,把認(rèn)證和授權(quán)邏輯從具體的系統(tǒng)管理功能中分離出來,解除每個具體的系統(tǒng)管理功能與認(rèn)證授權(quán)的耦合。
具體實施方式
在本發(fā)明的方法中,利用JAAS程序的配置文件實現(xiàn)多種認(rèn)證方法和授權(quán)策略從通用系統(tǒng)程序邏輯中的分離,即不把認(rèn)證和授權(quán)的邏輯寫入系統(tǒng)程序中,而是把認(rèn)證和授權(quán)的邏輯寫入配置文件中,由系統(tǒng)程序讀取配置文件,根據(jù)配置文件的要求進行相關(guān)的認(rèn)證和授權(quán),解除系統(tǒng)管理邏輯與多種認(rèn)證和授權(quán)邏輯的耦合。
在本發(fā)明的方法中,AspectJ程序利用Aspect Oriented Programming的編程技術(shù),分離具體的通用系統(tǒng)管理邏輯和安全邏輯,把認(rèn)證和授權(quán)邏輯從具體的系統(tǒng)管理功能中分離出來,解除每個具體的系統(tǒng)管理功能與認(rèn)證授權(quán)的耦合。
實施例1)預(yù)先為機群中每個結(jié)點分別設(shè)置不同的標(biāo)識符,可以是機器名、IP地址等,記做nodeName;2)機群中管理系統(tǒng)的用戶以用戶名唯一區(qū)分,記做userName3)利用JAAS,實現(xiàn)認(rèn)證和授權(quán)的靈活配置,認(rèn)證,通過核對用戶口令確認(rèn)用戶是否合法用戶;授權(quán),確認(rèn)用戶是否可以進行相關(guān)操作;具體配置如下a、配置用戶認(rèn)證文件,文件中指明登錄用到的LoginModule類名,該類用于完成用戶的認(rèn)證工作,該文件的配置符合JAAS的策略定義文件格式;如MySecurity{MyLoginModule required;};該配置文件定義了用MyLoginModule負(fù)責(zé)認(rèn)證用戶身份,該類可以使用各種認(rèn)證用戶的方法,去檢驗是否用戶可以被認(rèn)證。
b、配置用戶操作權(quán)限文件,形式如下grant MyPrincipal″User1″{
permission NodePermission″nodeName1″;permission NodePermission″nodeName2″;permission MethodPermission″void shutDown(String,LoginContext)″;permission MethodPermission″void addUser(String,LoginContext)″;};該文件通過JAAS提供的策略文件,實現(xiàn)了針對不同用戶(如User1),在不同結(jié)點上(如nodeName1),進行不同操作(如shutDown)的目的。如以上從策略文件定義了用戶User1可以在nodeName1和nodeName2上執(zhí)行shutDwon(關(guān)機命令)。shutDown(String,LoginContext)中的String類型的參數(shù)是結(jié)點的名稱,如nodeName1,LoginContext類型的參數(shù)處是登錄用戶的登錄上下文,用于保存用戶的身份信息。
4)利用AspectJ方面定義和AspectJ編譯器,把認(rèn)證和授權(quán)邏輯從普通的管理系統(tǒng)邏輯分離出來,具體步驟如下a、定義切入點MyAuthorization,該MyAuthorization定義為public aspect MyAuthorization{//定義切入點;node為操作的結(jié)點的名稱,lc為用戶登錄的上下文環(huán)境,用于區(qū)分用戶pointcut Authorization(String node,LoginContextlc)(args(node,lc)&&execution(**(..));//在切入的方法執(zhí)行之前執(zhí)行以下程序片斷before(String node,LoginContext lc)Authorization(node,lc){//獲得被切入的方法的名字StringmethodNamethisJoinPointStaticPart.getSignature().toString();//根據(jù)用戶登錄環(huán)境、結(jié)點名和方法名,進行權(quán)限檢查String methodName=
thisJoinPointStaticPart.getSignature().toString();Subject.doAsPrivileged(lc.getSubject(),newAuthPrivilegedAction(node,methodName));}}以上示例代碼,pointcut Authorization處代碼實現(xiàn)了切入方法的定義,before(String node,LoginContext lc)處定義了在執(zhí)行切入的方法之前進行Subject.doAsPrivileged動作,根據(jù)用戶、結(jié)點和方法名驗證是否可以執(zhí)行該方法。
b、把該MyAuthorization和相關(guān)的通用的業(yè)務(wù)邏輯類利用AspectJ編譯器編譯,把認(rèn)證邏輯交織到通用的業(yè)務(wù)邏輯中去。
利用AspectJ的橫切技術(shù),由a和b兩步,我們不必在具體的業(yè)務(wù)邏輯中如shutDown方法中嵌入Subject.doAsPrivileged(lc.getSubject(),newAuthPrivilegedAction(node,methodName))這樣的授權(quán)代碼,可以通過定義aspect MyAuthorization指明我們要切入的方法的名稱,把授權(quán)邏輯利用AspectJ編譯器注入到需要進行授權(quán)邏輯的方法中。
前提條件是,被注入方法的參數(shù)中要包含String類型的結(jié)點的名稱,用來傳入結(jié)點名稱,檢查是否有在該結(jié)點上執(zhí)行方法的權(quán)限;LoginContext類型的參數(shù)用來傳遞給授權(quán)檢查函數(shù)給出用戶登錄的上下文環(huán)境。
由本發(fā)明的技術(shù)方案可見,本發(fā)明利用JAAS和AspectJ技術(shù)實現(xiàn)了一種針對機群管理系統(tǒng)的認(rèn)證和授權(quán)方法。該方法利用JAAS實現(xiàn)認(rèn)證和授權(quán)的在方法級別和結(jié)點級別安全性的靈活配置。利用AspectJ實現(xiàn)了通用的管理邏輯和安全邏輯松散耦合,可以實現(xiàn)在通用的管理方法中方便加入授權(quán)檢查,很好地解決了機群管理系統(tǒng)自身的認(rèn)證和授權(quán)問題。
權(quán)利要求
1.一種基于JAAS和AspectJ程序的機群管理系統(tǒng)認(rèn)證和授權(quán)的方法,其特征在于通過JAAS程序和AspectJ程序相互配合把認(rèn)證和授權(quán)的邏輯從系統(tǒng)程序中分離出來,并利用JAAS程序的配置文件配置用戶認(rèn)證和授權(quán)信息,以及利用AspectJ程序編譯器把授權(quán)邏輯和機群管理系統(tǒng)的通用邏輯交織在一起對用戶進行認(rèn)證和授權(quán),該方法包括以下步驟a、JAAS程序為機群系統(tǒng)中的每個結(jié)點分別設(shè)置不同的標(biāo)識符,然后以機群系統(tǒng)中結(jié)點為單位區(qū)分被訪問的系統(tǒng)資源;b、JAAS程序為機群管理系統(tǒng)設(shè)定用戶是以用戶名為唯一被區(qū)分認(rèn)證的實體,通過調(diào)用機群管理系統(tǒng)的軟件對用戶進行區(qū)分認(rèn)證;c、利用JAAS程序的用戶認(rèn)證信息和授權(quán)信息可配置性,將用戶的認(rèn)證和授權(quán)邏輯變化從通用的管理系統(tǒng)的邏輯中分離出來;d、利用AspectJ程序的編譯技術(shù)把授權(quán)檢查注入到通用的業(yè)務(wù)方法中,利用結(jié)點標(biāo)識、用戶標(biāo)識和切入方法名稱信息完成對切入方法的執(zhí)行權(quán)限檢查。
2.如權(quán)利要求1所述的認(rèn)證和授權(quán)方法,其其特征在于JAAS程序還利用以機群系統(tǒng)中若干結(jié)點組成的結(jié)點組為資源單位標(biāo)識對資源進行區(qū)分。
3.如權(quán)利要求1所述的認(rèn)證和授權(quán)方法,其特征在于利用JAAS程序的配置文件配置用戶在不同結(jié)點執(zhí)行不同的管理功能對用戶進行認(rèn)證和授權(quán),比如添加/刪除用戶、開機/關(guān)機、網(wǎng)絡(luò)配置等手段對用戶進行認(rèn)證和授權(quán)。
4.如權(quán)利要求1所述的認(rèn)證和授權(quán)方法,其特征在于JAAS程序利用用戶登錄的上下文、結(jié)點名稱、方法名稱,檢查不同用戶在不同結(jié)點上執(zhí)行不同操作的權(quán)限對用戶進行認(rèn)證和授權(quán)。
5.如權(quán)利要求1所述的認(rèn)證和授權(quán)方法,其特征在于利用JAAS程序的配置文件實現(xiàn)多種認(rèn)證方法和授權(quán)策略從通用系統(tǒng)程序邏輯中的分離,即不把認(rèn)證和授權(quán)的邏輯寫入系統(tǒng)程序中,而是把認(rèn)證和授權(quán)的邏輯寫入配置文件中,由系統(tǒng)程序讀取配置文件,根據(jù)配置文件的要求進行相關(guān)的認(rèn)證和授權(quán),解除系統(tǒng)管理邏輯與多種認(rèn)證和授權(quán)邏輯的耦合。
6.如權(quán)利要求1所述的認(rèn)證和授權(quán)方法,其特征在于AspectJ程序利用Aspect Oriented Programming的編程技術(shù),分離具體的通用系統(tǒng)管理邏輯和安全邏輯,把認(rèn)證和授權(quán)邏輯從具體的系統(tǒng)管理功能中分離出來,解除每個具體的系統(tǒng)管理功能與認(rèn)證授權(quán)的耦合。
全文摘要
本發(fā)明提供一種基于JAAS和AspectJ程序的機群管理系統(tǒng)認(rèn)證和授權(quán)的方法。JAAS程序把認(rèn)證和授權(quán)的邏輯從系統(tǒng)程序中分離出來,利用AspectJ程序編譯器把授權(quán)邏輯和機群管理系統(tǒng)的通用邏輯交織在一起,然后利用JAAS程序的配置文件配置用戶登錄對用戶進行認(rèn)證和授權(quán),該方法利用JAAS和AspectJ程序相互配合實現(xiàn)了機群中方法級別和結(jié)點級別的認(rèn)證和授權(quán)方法,通過該方法可以提供靈活、方便的指定不同的用戶在不同的結(jié)點上執(zhí)行不同的操作的機制。該方法把安全邏輯從通用的機群管理系統(tǒng)的管理邏輯中分離出來,實現(xiàn)靈活地配置認(rèn)證方法和授權(quán)策略,使得通用管理系統(tǒng)功能的開發(fā)和安全機制的開發(fā)獨立進行,簡潔、高效的解決了管理系統(tǒng)軟件自身的安全問題。
文檔編號H04L12/24GK1744599SQ20051004482
公開日2006年3月8日 申請日期2005年9月27日 優(yōu)先權(quán)日2005年9月27日
發(fā)明者李景山, 鄧必山, 王守昊, 董小社, 伍衛(wèi)國 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司, 西安交通大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
上杭县| 蒲江县| 乌兰察布市| 贵阳市| 桃源县| 长春市| 昆山市| 城固县| 上思县| 丹东市| 揭西县| 卓尼县| 曲靖市| 腾冲县| 南投县| 曲阜市| 泸西县| 壤塘县| 邯郸县| 南开区| 遵义市| 克拉玛依市| 聂拉木县| 松潘县| 故城县| 民权县| 隆子县| 阳谷县| 易门县| 五莲县| 文昌市| 富宁县| 北海市| 乌兰察布市| 江油市| 宿松县| 上蔡县| 南丹县| 都安| 中阳县| 泰和县|