徐布克 朱麗娟
上海建橋?qū)W院信息技術(shù)系 上海 200335
基于ASP.NET 2.0安全框架的用戶資料管理系統(tǒng)的設(shè)計與實現(xiàn)
徐布克 朱麗娟
上海建橋?qū)W院信息技術(shù)系 上海 200335
根據(jù)ASP.NET 2.0安全框架,設(shè)計出上海市作家協(xié)會平臺網(wǎng)站中的用戶資料管理系統(tǒng),并詳細(xì)介紹該系統(tǒng)組成的原理和方法。相信該方案的提出會為Web開發(fā)人員提供幫助。
ASP.NET 2.0;安全框架;Web開發(fā)
10.3969/j.issn.1671-489X.2010.27.075
作者:徐布克,上海建橋?qū)W院教授級高工,研究方向為軟件工程;朱麗娟,上海建橋?qū)W院講師,研究方向為軟件工程。
Author’s addressDepartment of Information, Shanghai Jianqiao Institute, Shanghai, China 201319
隨著網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)安全的飛速發(fā)展,越來越多的交易都直接放在Internet(互聯(lián)網(wǎng))上完成,如網(wǎng)上銀行、網(wǎng)上商店以及其他的一些網(wǎng)絡(luò)媒體等。在這些網(wǎng)站上進行交易之前,往往需要客戶端的用戶首先必須注冊申請用戶名和密碼,并留下相關(guān)信息后,方能在該網(wǎng)站上進行各項交易。申請時填寫用戶名和密碼,以及相關(guān)信息的寫入,這些都需要通過一個表單為載體填入。那么如何設(shè)計這個表單,并且在數(shù)據(jù)庫中相應(yīng)的表中留下表單中填寫的各項內(nèi)容,就成了開發(fā)人員必須思考的問題。
筆者研究與實現(xiàn)的基于ASP.NET 2.0安全框架的用戶資料管理系統(tǒng),已經(jīng)應(yīng)用在上海市作家協(xié)會平臺網(wǎng)站上。這種系統(tǒng)(包括登錄、注冊頁面、用戶認(rèn)證、角色安排以及賬號管理)的構(gòu)建,在以前都完全由開發(fā)人員自己去完成,而現(xiàn)在就可以直接在ASP.NET 2.0自帶的安全框架上去完成,不僅方便快捷,而且安全!
Membership類是ASP.NET 2.0安全框架中的一個主要的類,它存在于System.Web.Security包中,并提供一系列的靜態(tài)方法用于創(chuàng)建、刪除、更新以及獲取注冊用戶。表1列出本項目在用戶資料管理系統(tǒng)的設(shè)計上所使用到的方法。
MembershipUser類是ASP.NET 2.0安全框架中的另一個主要的類,它也存在于System.Web.Security包中,并提供一系列的靜態(tài)屬性和方法用于輸入、返回、修改單個用戶信息等。表2和表3列出本項目在用戶資料管理系統(tǒng)的設(shè)計上所使用到的屬性和方法。
表1 Membership類中的常用方法
表2 MembershipUser類中常用的屬性
這是一個成員資格類,供Membership和MembershipUser 類使用,用于管理SQL Server數(shù)據(jù)庫中ASP.NET應(yīng)用程序的成員資格信息存儲,為使用SQL Server數(shù)據(jù)庫的ASP.NET應(yīng)用程序提供成員資格服務(wù)。在應(yīng)用程序首次運行時,SqlMembershipProvider對象將在應(yīng)用程序的App_Data目錄創(chuàng)建一個名為aspnetdb的數(shù)據(jù)庫(見“3.1 安裝ASP.NET服務(wù)的SQL Server 數(shù)據(jù)庫)。
表3 MembershipUser類中常用的方法
本項目已經(jīng)創(chuàng)建一個名為“TheSilverBook”的數(shù)據(jù)庫?,F(xiàn)在要將ASP.NET服務(wù)的SQL Server數(shù)據(jù)庫添加到“TheSilverBook”的數(shù)據(jù)庫中。打開VS2008命令提示,如圖1所示。輸入aspnet_regsql.exe后,按照ASP.NET SQL Server安裝向?qū)б徊讲降赝瓿?,則會將用于ASP.NET服務(wù)的數(shù)據(jù)庫中的表添加到“TheSilverBook”數(shù)據(jù)庫中。同時,在應(yīng)用程序的App_Data目錄里出現(xiàn)一個名為aspnetdb的數(shù)據(jù)庫。
1)成員資格Provider模型。本項目在實現(xiàn)用戶注冊功能時,使用的是圖2模型結(jié)構(gòu):最上層利用CreateUserWizard控件實現(xiàn)用戶注冊界面;接下來的層是成員資格的API,它提供各種實際操作的實現(xiàn);再下層是為成員資格提供數(shù)據(jù)存儲操作的Provider;最下層是本項目使用的SQL Server數(shù)據(jù)庫。
在Web.config文件中的〈system.web〉節(jié)點下設(shè)置,為成員資格指定Provider。如在〈membership〉〈provides〉中設(shè)置:
同時,在〈configuration〉節(jié)點下設(shè)置用于成員資格服務(wù)的數(shù)據(jù)庫連接字符串:
2)創(chuàng)建用戶輸入界面。用戶輸入界面是用來注冊用戶的,用戶所輸入的相關(guān)內(nèi)容將會被保存到表中。在本項目中利用CreateUserWizard控件(處于vs2008IDE工具箱的登錄欄中)創(chuàng)建用戶輸入界面,要求用戶通過該控件輸入用戶名、密碼、E-mail地址等。運行界面程序顯示如圖3所示。
單擊“創(chuàng)建用戶”按鈕后,該控件會自動在事件處理函數(shù)中調(diào)用Membership.CreateUser方法,然后將用戶名保存到aspnetdb數(shù)據(jù)庫中的aspnet_Users表中,密碼將會保存到aspnet_Membership表中。
3)創(chuàng)建新的成員資格類。在用戶注冊上,要求用戶名和密碼不能重名,因此需要重寫SqlMembershipProvider類中的CreateUser方法,使得該方法能夠檢查用戶名和密碼是否重名:
本文介紹了ASP.NET 2.0中的安全框架,并提出在此安全框架基礎(chǔ)上,設(shè)計人員可根據(jù)需要去重寫安全框架中對應(yīng)的類,以使得開發(fā)出的系統(tǒng)更滿足用戶的需求。
Design and Implementation of User Document Management System based on Security Framework in ASP.NET 2.0
Xu Buke, Zhu Lijuan
According to Security Framework in ASP.NET 2.0,we designed User Document Management System for Writer Association of Shanghai,and introduced this system’s principle and method in detail. We believe that the proposed scheme can provide help for Web developers.
ASP.NET 2.0; security framework; Web development
TP391
B
1671-489X(2010)27-0075-03