国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于kasai的安全管理系統(tǒng)

2011-11-25 02:37陳紅梅
制造業(yè)自動(dòng)化 2011年1期
關(guān)鍵詞:對(duì)象數(shù)據(jù)庫(kù)人員

陳紅梅

(商丘師范學(xué)院 計(jì)算機(jī)科學(xué)系,商丘 476000)

基于kasai的安全管理系統(tǒng)

陳紅梅

(商丘師范學(xué)院 計(jì)算機(jī)科學(xué)系,商丘 476000)

0 引言

企業(yè)的網(wǎng)絡(luò)正逐漸地覆蓋全國(guó),甚至全世界。并行利用和訪問企業(yè)綜合數(shù)據(jù)的人員身份越來(lái)越多樣化,有自己的員工、供貨商、承包商、用戶等。怎樣安全有效地利用企業(yè)資源,怎樣認(rèn)證不同的人員身份,怎樣進(jìn)行授權(quán)和審計(jì)跟蹤,怎樣在安全地認(rèn)證身份的基礎(chǔ)上開展其它的應(yīng)用。這一切是我們企業(yè)所共同面對(duì)的嚴(yán)峻現(xiàn)實(shí)。根據(jù)這個(gè)現(xiàn)實(shí)的需求、設(shè)計(jì)并開發(fā)了本系統(tǒng)。

1 技術(shù)應(yīng)用

1.1 struts2的特性

1.1.1 線程模式

Struts1 Action是單例模式并且必須是線程安全的,因?yàn)閮H有Action的一個(gè)實(shí)例來(lái)處理所有的請(qǐng)求。單例策略限制了Struts1 Action能作的事[1],并且要在開發(fā)時(shí)特別小心。Action

資源必須是線程安全的或同步的。 Struts1 Action對(duì)象為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒

有線程安全問題。(實(shí)際上,servlet容器給每個(gè)請(qǐng)求產(chǎn)生許多可丟棄的對(duì)象,并且不會(huì)導(dǎo)致性能和垃圾回收問題)

1.1.2 可測(cè)性

測(cè)試Struts1 Action的一個(gè)主要問題是execute方法暴露了servlet API(這使得測(cè)試要依賴于容器)。一個(gè)第三方擴(kuò)展——Struts TestCase——提供了一套Struts1的模擬對(duì)象(來(lái)進(jìn)行測(cè)試)。 Struts Action可以通過初始化、設(shè)置屬性、調(diào)用方法來(lái)測(cè)試,“依賴注入”支持也使測(cè)試更容易。

1.2 hibernate技術(shù)介紹

Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架[2],它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query 和Con fi guration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到[3]。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。

2 具體功能

2.1 系統(tǒng)驗(yàn)證

該功能模塊完全是通過Kasai提供的功能來(lái)完成的,此模塊不提供界面而是提供了可用的驗(yàn)證接口供企業(yè)系統(tǒng)使用。

2.1.1 用戶驗(yàn)證

1)身份驗(yàn)證

功能輸入:用戶名、密碼。功能處理:調(diào)用Kasai系統(tǒng)的功能,在Kasai數(shù)據(jù)庫(kù)中核對(duì)用戶名和密碼。

功能輸出:驗(yàn)證結(jié)果

例如:當(dāng)用戶登錄企業(yè)應(yīng)用程序時(shí),驗(yàn)證該用戶是否為合法用戶,并向系統(tǒng)返回驗(yàn)證結(jié)果,因此只有合法用戶才登入系統(tǒng)。

2)組驗(yàn)證

功能輸入:用戶名、組名。

功能處理:調(diào)用Kasai系統(tǒng)的功能,在Kasai數(shù)據(jù)庫(kù)中查找組人員列表核對(duì)該用戶是否為組成員。功能輸出:驗(yàn)證結(jié)果

例如:通過用戶名、組名,驗(yàn)證一個(gè)用戶是否屬于一個(gè)已定義的工作組并返回結(jié)果。

3)角色驗(yàn)證

功能輸入:用戶名、角色名。

功能處理:調(diào)用Kasai系統(tǒng)的功能,該用戶是否為該角色成員。

功能輸出:驗(yàn)證結(jié)果

例如:公司內(nèi)部有一些管理層的界面只有經(jīng)理級(jí)別的人才能夠觀看,我們關(guān)心的是經(jīng)理級(jí)別而不是哪個(gè)部門的經(jīng)理,所以可以使用這個(gè)功能來(lái)驗(yàn)證其身份。

2.1.2 權(quán)限驗(yàn)證

1)用戶權(quán)限驗(yàn)證

(1)用戶對(duì)某些事物的權(quán)限驗(yàn)證

功能輸入:用戶、操作對(duì)象、操作行為。

功能處理;系統(tǒng)調(diào)用Kasai的功能,在Kasai數(shù)據(jù)庫(kù)中查找用戶的角色從而確定該用戶是否具有對(duì)該操作對(duì)象執(zhí)行這種操作的權(quán)限。

功能輸出:驗(yàn)證結(jié)果

例如:驗(yàn)證一個(gè)客戶是否有瀏覽公司網(wǎng)站業(yè)務(wù)內(nèi)容的權(quán)力,或是部門經(jīng)理在調(diào)配人員時(shí)也需要驗(yàn)證他是否對(duì)這些所有的人員都擁有調(diào)配的權(quán)力,此功能實(shí)現(xiàn)這個(gè)驗(yàn)證過程。

(2)用戶角色權(quán)限驗(yàn)證

功能輸入:用戶、操作對(duì)象、角色(一組操作)

功能處理:系統(tǒng)調(diào)用Kasai的功能,在Kasai數(shù)據(jù)庫(kù)中查找該用戶的角色,來(lái)核對(duì)該用戶是否擁有對(duì)這個(gè)操作對(duì)象的這種角色。

功能輸出:驗(yàn)證結(jié)果

例如:驗(yàn)證一名員工是否是一個(gè)部門的經(jīng)理,或是主管等等。

2)組權(quán)限驗(yàn)證

組對(duì)某些事物的權(quán)限驗(yàn)證

功能輸入:組、操作對(duì)象、操作行為。

功能處理;系統(tǒng)調(diào)用Kasai的功能,在Kasai數(shù)據(jù)庫(kù)中查找該組的角色從而確定該用戶是否

有對(duì)該操作對(duì)象執(zhí)行這種操作的權(quán)限。

功能輸出:驗(yàn)證結(jié)果

例如:我們想要判斷銷售部下的一個(gè)工作組是否能夠更改某一個(gè)商品的價(jià)格,本功能提供這樣的驗(yàn)證。

2.2 系統(tǒng)授權(quán)

2.2.1 授予(取消)人員特殊的權(quán)限

功能輸入:被授權(quán)人員的信息、授予的權(quán)力信息、行使權(quán)力的對(duì)象信息和授權(quán)(或取消權(quán)限)信號(hào)。

功能處理:把授權(quán)信息存儲(chǔ)到Kasai數(shù)據(jù)庫(kù),同時(shí)再加入一些擴(kuò)展功能信息然后存入本地系統(tǒng)數(shù)據(jù)庫(kù),以供日后擴(kuò)展功能使用

功能輸出:返回授權(quán)結(jié)果。

例如:某個(gè)員工在完成一項(xiàng)特殊任務(wù)的時(shí)候可能會(huì)需要某一個(gè)特殊的權(quán)限,此權(quán)限與他的職位不相關(guān),那么我們就可以通過這個(gè)方法給該員工一個(gè)特殊的權(quán)力去處理某件事,任務(wù)完成后再將這個(gè)權(quán)限取消。

2.2.2 禁用(啟用)人員

功能輸入:需要被禁用的人員信息和禁用(或啟用)信號(hào)。

功能處理:把禁用(或啟用)信息存儲(chǔ)到Kasai數(shù)據(jù)庫(kù),同時(shí)再加入一些擴(kuò)展功能信息然后存入本地系統(tǒng)數(shù)據(jù)庫(kù),以供日后擴(kuò)展功能使用。

功能輸出:返回操作結(jié)果。

例如:公司想要把某個(gè)員工暫時(shí)停職,以及日后的復(fù)職工作由本功能實(shí)現(xiàn)。

2.2.3 授予(取消)人員角色

功能輸入:被授予人員的信息、授予的角色信息、行使權(quán)力的對(duì)象信息和授予(或取消)角色信號(hào)。

功能輸出:返回授予角色結(jié)果。

例如:有新的員工加入了公司,那么我們只需要輸入該員工的id和他的職位和其他一些輔助信息,該員工就可以馬上擁有該職位的所有權(quán)限,而不用我們把每一條具體的權(quán)限授給這個(gè)員工。

2.2.4 權(quán)限提升(降級(jí))

功能輸入:權(quán)限被改變的人員(或組)信息、新的角色(或權(quán)限)信息和新的可操作對(duì)象信息。

功能處理:系統(tǒng)把人員以前擁有的所有的權(quán)限全部清除,再賦予新的角色或權(quán)限,在Kasai和本地?cái)?shù)據(jù)庫(kù)中保存。

功能輸出:返回改變后結(jié)果。

例如:當(dāng)一個(gè)員工得到提升或者被降職的時(shí)候,我們需要把他原來(lái)的所有權(quán)限全部取消然后賦予他新的權(quán)限和操作對(duì)象,本功能實(shí)現(xiàn)的就是這個(gè)過程。

2.2.5 權(quán)限轉(zhuǎn)移

功能輸入:原人員信息、新人員信息。

功能處理:把新人員的舊權(quán)限清除,再把原人員的所有角色賦給新人員,在Kasai和本地?cái)?shù)據(jù)庫(kù)保存。

功能輸出:返回改變后結(jié)果。

例如:公司要開除一名員工,同時(shí)讓另一名員工頂替舊員工的位置,這樣的情況可以用此功能來(lái)實(shí)現(xiàn)。

2.2.6 權(quán)限共享

功能輸入:需要共享的權(quán)限。

功能處理:把目標(biāo)權(quán)限賦予每一個(gè)人員和組,在Kasai和本地?cái)?shù)據(jù)庫(kù)保存。

功能輸出:返回共享后結(jié)果。

例如:公司內(nèi)可能會(huì)有一些非常低級(jí)的權(quán)限,需要所有人都擁有,我們可以通過這個(gè)功能將其共享,而不用手動(dòng)把該功能加入到每一個(gè)人的身上。

2.2.7 用戶維護(hù)

1)新建用戶

功能輸入:新用戶的信息。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中添加新用戶信息。

功能輸出:返回添加后結(jié)果。

例如:公司有新員工加入時(shí),員工信息的錄入是必須的,本功能負(fù)責(zé)將其實(shí)現(xiàn)。

2)修改用戶信息

功能輸入:需要修改的用戶信息。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中更新用戶信息。

功能輸出:返回修改后結(jié)果。

例如:公司在進(jìn)行人事變動(dòng)或者人員數(shù)據(jù)更新時(shí)需要此功能來(lái)實(shí)現(xiàn)對(duì)員工信息的維護(hù)。

3)刪除用戶

功能輸入:將要?jiǎng)h除的用戶信息(一個(gè)或多個(gè))。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中刪除所選用戶的全部信息。

功能輸出:返回刪除后結(jié)果。

例如:有人被公司開除或離開工作崗位時(shí),需要在數(shù)據(jù)庫(kù)中刪除與其相關(guān)的信息以保證系統(tǒng)長(zhǎng)久的安全性。

2.2.8 組維護(hù)

1)新建組

功能輸入:新組信息、新組人員。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中添加組信息。

功能輸出:返回添加后結(jié)果。

例如:成立新的工作組或者新的經(jīng)銷商類型,必須在系統(tǒng)中創(chuàng)建新的用戶組來(lái)進(jìn)行維護(hù),這樣的工作由本功能完成。

2)更新組信息

功能輸入:需要修改的組信息。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中更新組信息

功能輸出:返回修改后結(jié)果。

例如:需要更新該組的信息或說(shuō)明時(shí),由本功能完成。

3)取消組功能輸入:將要?jiǎng)h除的組信息(一個(gè)或多個(gè))。功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中刪除所選組的全部信息。

功能輸出:返回刪除后結(jié)果。

例如:工作組解散時(shí)在系統(tǒng)中清除相關(guān)信息時(shí)使用本功能。

4)向組中添加用戶

功能輸入:新用戶信息。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中新建組的用戶信息。

功能輸出:返回添加后結(jié)果。

例如:工作組有新成員加入時(shí)需要更新該組的信息,由本功能完成。

5)從組中刪除用戶

功能輸入:將要?jiǎng)h除的用戶信息(一個(gè)或多個(gè))。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中刪除所選用戶的全部信息。

功能輸出:返回刪除后結(jié)果。

例如:工作組成員有所變動(dòng)時(shí)需要?jiǎng)h除該組的個(gè)別用戶信息,由本功能完成。)修改組中的用戶。

6)修改組中的用戶

功能輸入:將要修改的用戶信息。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中修改用戶的信息。

功能輸出:返回修改后結(jié)果。

例如:工作組成員有所變動(dòng)時(shí)需要更新該組的信息,由本功能完成。

7)組組之間的人員調(diào)動(dòng)

功能輸入:要調(diào)動(dòng)的人員信息。

功能處理:在Kasai和本地?cái)?shù)據(jù)庫(kù)中一個(gè)組中刪除所選用戶的全部信息,在另一組中添加所有的人員信息。

功能輸出:返回更新后結(jié)果。

例如:工作組之間人員相互調(diào)動(dòng),由本功能完成。

3 結(jié)論

此系統(tǒng)具有非常廣泛的兼容性、易用性及強(qiáng)大的安全性。因此無(wú)論在什么情況下,本系統(tǒng)都能提供客戶所要求的靈活可靠、節(jié)約開支并在企業(yè)范圍內(nèi)的用戶身份認(rèn)證服務(wù),同時(shí)本系統(tǒng)還能夠便捷的實(shí)現(xiàn)對(duì)角色的授權(quán)、人員分組以及對(duì)系統(tǒng)中操作對(duì)象的維護(hù),使企業(yè)應(yīng)用的效率更高,安全性更強(qiáng),更加適應(yīng)未來(lái)的發(fā)展。

[1]周智仁, 等. Java網(wǎng)絡(luò)應(yīng)用編程[M]. 高等教育出版社.2004: 61-33.

[2]李俊民. Oracle數(shù)據(jù)開發(fā)實(shí)例解析第一版[M]. 北京: 機(jī)械工業(yè)出版社, 2006: 20-50.

[3]魏善沛. Web數(shù)據(jù)庫(kù)基礎(chǔ)教程[M]. 北京: 中國(guó)鐵道出版社, 2007: 87-89.

The general authority management system based on kasai

CHEN Hong-mei

Kasai是一個(gè)開源100%基于Java的認(rèn)證與授權(quán)框架。它提供一個(gè)完善的,易于管理的許可方案來(lái)與你應(yīng)用程序相結(jié)合的。這個(gè)框架的目的是為多用戶應(yīng)用程序提供一個(gè)使用簡(jiǎn)單但強(qiáng)大的安全環(huán)境。Kasai具有較高級(jí)別的安全抽象,接口更加通用;它的目標(biāo)在于特定的安全需求。本系統(tǒng)是基于Kasai的安全管理系統(tǒng),采用J2EE架構(gòu),使用struts2+hibernate開源框架來(lái)實(shí)現(xiàn)的。

J2EE;Struts2框架;Hibernate框架;Oracle數(shù)據(jù)庫(kù);Kasai

陳紅梅(1973-),女,碩士研究生,研究方向?yàn)橛?jì)算數(shù)學(xué)。

TP315

A

1009-0134(2011)1(上)-0187-03

10.3969/j.issn.1009-0134.2011.1(上).59

2010-11-09

國(guó)家自然科學(xué)基金項(xiàng)目(50323001);河南省基礎(chǔ)與前沿研究項(xiàng)目(102300410244)。

猜你喜歡
對(duì)象數(shù)據(jù)庫(kù)人員
涉稅刑事訴訟中的舉證責(zé)任——以納稅人舉證責(zé)任為考察對(duì)象
判斷電壓表測(cè)量對(duì)象有妙招
讓刑滿釋放人員找到家的感覺
攻略對(duì)象的心思好難猜
不得與工會(huì)組織任職期內(nèi)人員解除勞動(dòng)合同
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
區(qū)間對(duì)象族的可鎮(zhèn)定性分析
數(shù)據(jù)庫(kù)
琼结县| 囊谦县| 康马县| 昌平区| 宁国市| 东丽区| 辛集市| 竹北市| 亳州市| 奇台县| 高淳县| 德保县| 改则县| 即墨市| 大关县| 东港市| 商河县| 石台县| 松原市| 海伦市| 清水河县| 吉林省| 鸡东县| 宜川县| 潢川县| 竹北市| 贵定县| 常德市| 平乡县| 临沂市| 合水县| 涟源市| 武山县| 郎溪县| 宁南县| 娄烦县| 华亭县| 宣武区| 玛纳斯县| 阿拉善盟| 邹平县|