999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web軟件的權限動態管理設計與實現

2010-04-12 00:00:00張志強,葉安勝,古沐松
現代電子技術 2010年12期

摘 要:在Web應用軟件中,權限管理是常見的功能,不同用戶具有不同的軟件使用權限,系統根據登錄用戶的角色來完成權限的審定,從而進入用戶的軟件使用界面。在實際應用中,登錄用戶的權限有時會根據實際情況發生變化,從而需要調整相應的用戶權限,常規的權限管理無法適應權限的動態變化。為解決這種問題,設計了一種高效的權限管理方案,利用該方案實現了用戶權限的動態管理,該設計方案已用于實際的軟件項目中,極大地提高了權限管理的靈活性、方便性和高效性。

關鍵詞:Web應用軟件; 用戶權限; 動態管理; 權限組; 權限管理方案

中圖分類號:TP393.09 文獻標識碼:A

文章編號:1004-373X(2010)12-0047-04

Design and Accomplishment of Dynamic Authority Management Based on Web Software

ZHANG Zhi-qiang, YE An-sheng, GU Mu-song

(College of Information Science and Technology, Chengdu University, Chengdu 610106, China)

Abstract:The authority management is a rather common function in the Web applied software. Since different users possess different limits of authority, the system examines and approves a user′s limits of authority according to his role, and then allows him to enter the user interface. Sometimes the authority of the user who logins in may vary according to the actual situation, thus the user′s authority also need to be adjusted. As the common management of authority cannot adapt to the dynamic changes of authority, in order to manage the users′ authority, a more effective plan which can bring about a dynamic management of users′ authority was designed. The plan has already been applied to some practical software projects and has greatly improved the adaptability, convenience and effectiveness of the authority management.

Keywords:Web software; authority of user; dynamic management; authority group; plan of authority management

0 引 言

在Web應用軟件中,權限管理是軟件常見的功能,不同的用戶具有不同的權限使用軟件,當用戶登錄系統時,系統會根據登錄用戶的角色確定登錄用戶的權限,根據用戶的權限進入不同的軟件界面。在軟件的實際應用中,有時需要改變用戶的權限,常見的權限管理一般是通過對角色的切換來完成的。角色種類與權限一般在軟件的前期設計中就已經確定,當角色種類與權限確定后就不容易改變,否則需要更改整個軟件的設計方案,這就是常規的角色管理,常規的角色管理無法靈活地適應實際情況的變化。為解決該缺陷,能夠靈活地適應權限的變化,在軟件的權限管理中需要以動態方式管理和維護角色,從而達到動態設置用戶權限的目的。通過動態的權限管理,將極大地提高用戶權限的管理效率[1-3]。

1 權限組的設計

在Web軟件如科研管理系統中,系統管理員、校科技處老師、一般教師、系科研秘書、系主任等角色的權限在開發系統時就已確定,它們可以以不同角色的用戶登錄系統后進入不同的管理界面。在實際應用中,用戶角色可能會發生變化,例如教師可能在一般教師、系科研秘書、系主任、校科研處老師等不同角色之間變動,這樣當其角色變換后,在不改變用戶登錄帳號的情況下應改變其權限。另外,角色種類以及角色的權限信息也可能會發生改變,需要對角色進行新增、刪除、更新等維護操作。采用常規的角色管理方式無法適應這種動態變化的情況,從而使整個系統的權限管理效率大大降低。為了解決這些問題,設計一種類似于Windows用戶組的權限管理方案,該方案將系統角色作為權限組,通過對權限組的動態管理,高效地實現了用戶權限的動態管理,該方案的關鍵是對權限組的管理。

權限組管理模型如圖1所示[4]。

當權限組創建完成后,每個權限組代表一種角色,對權限組的權限進行設置后,將不同的用戶登錄帳號放入權限組中,該用戶就具有所屬權限組中的所有權限功能,當動態調整權限組的權限時,隸屬于該權限組中的用戶權限就會自動改變,系統也具有對權限組完成新增、修改與更新等維護操作的功能。通過這種方式實現了用戶權限的動態管理[5]。

圖1 權限組管理模型圖

實現權限組管理的關鍵是權限組的權限設置,其通過權限信息串來體現。在系統中設置了很多復選框列表Checkboxlist控件,每個復選框列表控件中放置了6個Checkbox控件,每個Checkbox控件代表1個功能模塊,每個Checkboxlist表示1組功能模塊的組合,根據對控件是否選擇的判定,可以組成“1”或“0”的字符串數據作為該權限組的權限信息串,當Checkbox控件被選則時,表示為“1”,否則表示為“0”。設計界面如圖2所示。

圖2 權限組的權限信息串設置界面

有些Checkbox控件代表的是保留功能,這些保留的Checkbox控件就是擴展功能模塊的預留接口,通過這些預留接口可以為系統增加新的權限功能。通過這種設計,系統管理員可以利用控件的選擇來動態改變權限,系統則可以根據控件的選擇狀態動態構建權限信息串,經過加密后將其存儲到數據庫中,這樣不僅可以防治非法的竄改,還可以從數據庫中提取并解密還原為原始的權限信息串。

這種管理方式能夠以集合方式組織權限組的權限功能模塊,極大地提高權限管理的靈活性、方便性和高效性。權限組管理子模塊的界面如圖3所示。

在該模塊中,權限組信息是通過Gridview控件完成維護操作的,當權限組創建成功后,通過對權限組的維護來調整系統角色及其權限信息。

權限組管理模塊功能如圖4所示。

圖3 權限組管理界面

圖4 權限組管理功能模塊圖

當權限組創建完成后,設定用戶所屬的權限組,該用戶就具有設定權限組的權限功能,當用戶登錄系統時,系統首先從數據庫中讀取所屬權限組的權限信息串,然后經過解密還原為原始的“..10..”信息串,根據信息串動態組合不同的功能模塊并顯示對應的功能模塊控件,進入不同的軟件使用界面。權限組應用的數據處理流程如圖5所示。

圖5 權限組應用的數據處理流程

2 權限動態管理的實現

本文以Oracle 10g為后臺數據庫,利用ASP.NET實現高校科研管理系統為技術平臺,在該系統中實現了動態權限的管理功能。

2.1 相關數據表的設計

權限組表如表1所示[6-7],登錄用戶表如表2所示。

表1 權限組表

字段名稱字段類型約束條件字段說明備注

right_idNumberNOT NULL權限組ID主鍵

right_nameVarchar2(64)權限組名字

rightsVarchar2(32)NOT NULL權限組的權限信息加密存儲

noteVarchar2(200)權限組說明信息備注信息

表2 用戶表

字段名稱字段類型約束條件字段說明備注

eidNumberNOT NULL員工ID主鍵

name Varchar2(10)NOT NULL員工姓名

login_idVarchar2(20)NOT NULL登錄名

passwordVarchar2(20)NOT NULL登錄密碼加密存儲

right_group_idNumberNOT NULL所屬權限組ID外鍵

……………

權限信息串經過加密存儲在rights字段中,用戶表中的right_group_id字段與權限組表的right_id建立外鍵關聯,確定登錄用戶所屬權限組[8]。

2.2 數據層的實現

為了提高操作效率,在實際開發時按照分層方式設計代碼結構,將數據庫操作的代碼封裝在數據層,在業務層完成數據層的調用[9-10]。

public class Getdata

{…//設計Getdata類完成對數據庫的各種操作

public string Get_permit(int uid) //根據權限組編號提取權限組的權限信息串

{ string permit = \"\"; //權限信息串

OracleConnection con = new

OracleConnection(ConfigurationManager.ConnectionStrings[\"DCS\"].ConnectionString); //創建oracle數據庫的連接對象

(DCS為在Web.config中設置的連接字符串)

string cmdstr = \"…\"; //設置獲取權限組信息串的SQL語句

OracleCommand cmd = new OracleCommand();

string temp = \"\";

temp = Convert.ToString(cmd.ExecuteScalar());

//從數據庫中提取權限組信息串

SymmetricMethod ke = new SymmetricMethod();

permit = ke.Decrypto(temp);//對權限信息串進行解密還原為原始的信息串

return permit;

}

… //完成對數據庫的各種操作

}

2.3 業務層的實現

2.3.1 權限信息串的構建

每種權限組的權限信息由權限信息串構成,權限信息串的構造是實現權限動態管理的關鍵。當權限組的權限信息串構建完成后,可以完成權限組的添加、刪除和更新等維護操作。以下主要代碼實現了權限信息串的構建:

string permit=\"\"; //存儲權限信息串

for(i = 0; i <= 5; i++) //每行6個控件(6個功能權限)的組合

{ if(CheckBoxList1.Items[i].Selected)

permit += \"1\"; elsepermit += \"0\"; }

… //進行多行的組合,最終構建出原始的權限信息串

SyM keyan1 = new SyM();// SyM為設置的密碼處理類

permit = keyan1.Encrypto(permit); //對構建的權限信息串加密

這里permit為加密后的權限信息串,最后存儲在數據庫中。

2.3.2 權限組的驗證

當用戶登錄時,系統根據登錄用戶所屬的權限組從數據庫中提取權限信息串,經過解密還原為原始的信息串,根據信息串動態組合權限功能模塊進入不同的軟件使用界面。以下是主要的驗證代碼:

Getdata keyan = new Getdata();

string permit = \"\";

permit = keyan.Get_permit(Convert.ToInt16(Session[\"eid\"].ToString()));

//Session[\"eid\"].ToString()為登錄時獲取的用戶ID,通過Get_permit從數據庫中提取該用戶的權限信息串

if(permit.Substring(0,1) == \"0\" permit.Substring(1,1) ==\"0\" …permit.Substring(5,1)== \"0\")

t2.Visible = 1;//表示t2功能模塊控件沒有權限使用

else

{ if (permit.Substring(0, 1) == \"0\")

t2_1.Visible = 1;//表示t2_1功能模塊空間沒有權限使用

…} //構造權限功能模塊的顯示與控制問題,當權限信息串某位為“1”時顯示對應的功能模塊,為“0”時屏蔽對應的功能模塊顯示

以系統管理員身份登錄系統的界面如圖6所示,以系科研秘書身份登錄系統的界面如圖7所示。

圖6 系統管理員界面

圖7 系科研秘書界面

3 結 語

對權限組進行動態管理,根據實際情況靈活地完成權限的設定,最終實現用戶權限的動態管理,這種設計方案已應用于實際的軟件項目運行中,極大地提高了軟件權限管理的靈活性、方便性和高效性。

參考文獻

[1]周偉,王黎,高曉容.ASP.NET中用戶權限管理的設計與實現[J].福建電腦,2007(11):156-157.

[2]李雪林.基于角色的工作流模型的研究[J].電腦知識與技術,2006(7):186-187.

[3]江克勤,張玉州.ASP.NET應用程序的安全機制的研究[J].巢湖學院學報,2006,8(3):16-21.

[4]楊宗凱,劉宏波,劉琴濤.基于角色的訪問控制在網絡教育中的應用研究[J].計算機應用研究,2005(10)134-136.

[5]胡俊鵬,謝坤武.一種基于角色的訪問控制系統方案[J].湖北民族學院學報,2007,25(2):217-220.

[6]昝風彪.在ASP.NET中基于角色的權限控制設計與實現[J].科技信息,2008(25):84 - 85.

[7]李延偉,李筱寧.B/S中基于角色的用戶權限管理的設計與實現[J].福建電腦,2007(11):152-153.

[8]馬曉玉,孫巖.Oracle 10g數據庫管理應用與開發[M].北京:清華大學出版社,2007.

[9]張英男,高喆.ASP.NET 2.0網絡編程[M].北京:電子工業出版社,2008.

[10][美]GLENN JOHNSON.ADO.NET 2.0高級編程[M].段超,譯.北京:清華大學出版社,2006.

[11]蒲玄及,楊百龍,楊建飛.基于ASP.NET的在線考試系統設計與實現[J] .現代電子技術,2008,31(22):59-61.

[12]王倩,王偉.基于ASP.NET的數據遷移方法[J] .現代電子技術,2008,31(18):71-73.

[13]席生長,胡宏濤. 基于ASP.NET的數據驗證技術研究[J] .現代電子技術,2007,30(23):97-99.

主站蜘蛛池模板: 奇米精品一区二区三区在线观看| 欧美精品1区| 日韩天堂在线观看| 热思思久久免费视频| 国产精品亚欧美一区二区| 国产精品漂亮美女在线观看| 亚洲无线国产观看| 色老头综合网| 亚洲aaa视频| 亚洲精品久综合蜜| 欧美色图第一页| 亚洲中文字幕97久久精品少妇| 91伊人国产| 国产极品美女在线播放| 成人在线第一页| 亚洲综合亚洲国产尤物| 亚洲成人www| 亚洲综合亚洲国产尤物| 免费高清毛片| 国产成人亚洲欧美激情| 国产美女主播一级成人毛片| 天天综合网色中文字幕| 久久精品国产999大香线焦| 东京热av无码电影一区二区| 三级视频中文字幕| 久久女人网| 国产在线精品美女观看| 国产欧美日韩专区发布| 国产色伊人| 一本大道香蕉久中文在线播放 | 在线欧美一区| 无码精品国产dvd在线观看9久| 欧美午夜视频在线| 国产在线第二页| 国产成人综合亚洲欧美在| a免费毛片在线播放| 欧美性猛交一区二区三区| 国产三级毛片| 日本欧美视频在线观看| 一级毛片免费观看久| 国产麻豆91网在线看| 国产免费久久精品99re丫丫一| 国产在线视频导航| 亚洲国产成人自拍| 波多野结衣一区二区三区四区视频 | 99精品视频播放| 素人激情视频福利| 国产久操视频| 伊人久综合| 欧美在线精品一区二区三区| 中文字幕免费视频| 波多野结衣视频一区二区 | 中文字幕无线码一区| 中文字幕免费播放| 亚洲 欧美 偷自乱 图片| 欧美日本激情| 97无码免费人妻超级碰碰碰| 第一区免费在线观看| 凹凸国产分类在线观看| 国产成人av一区二区三区| 美女无遮挡拍拍拍免费视频| 综合网久久| 91精品国产一区自在线拍| 日韩毛片免费观看| 国产免费久久精品99re丫丫一| 国产中文在线亚洲精品官网| 无码日韩精品91超碰| 欧美国产日产一区二区| 欧美精品亚洲精品日韩专区| 91丝袜乱伦| 2020精品极品国产色在线观看| 亚洲精品麻豆| 久久五月视频| 欧美精品成人一区二区在线观看| 视频二区亚洲精品| 国产精品香蕉在线| 亚洲三级色| 国产91精品久久| 国产在线观看一区二区三区| 免费观看无遮挡www的小视频| 欧美日韩第二页| 91精品专区|