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

利用Membership API 編程實現asp.net網站安全管理探析

2016-02-05 07:44:11郭建明
網絡安全技術與應用 2016年7期
關鍵詞:按鈕數據庫用戶

◆郭建明

(甘肅機電職業技術學院 甘肅 741001)

利用Membership API 編程實現asp.net網站安全管理探析

◆郭建明

(甘肅機電職業技術學院 甘肅 741001)

在信息化高度發達的今天,網絡安全無疑是人們最為關心的問題,怎么樣有效的保障好數據安全是信息化發展最為核心問題。在用VS2010開發asp.net網站程序時,可以用系統自帶的登錄控件及“asp.net網站管理工具”來實現網站程序的安全管理,此方法簡單,但在網站發布及靈活性方面存在儲多不便,本文主要探討如何通過Membership API編程方式實現asp.net網站的安全管理。

Membership API;安全管理;角色權限;訪問規則

0 引言

ASP.NET應用程序是一種開放式的B/S架構應用程序,但這種開放式的訪問方式無疑會給程序的安全運行帶來一定的隱患。在用VS2010開發asp.net網站程序時,可以用系統自帶的登錄控件及“asp.net網站管理工具”來實現網站程序的安全管理,此方法簡單,但在網站發布及靈活性方面存在諸多不便,以及在一些復雜的應用環境中,仍然需要通過編寫程序來實現特定的網站安全管理。如何以更加有效、靈活的方式實現網站安全管理,是創建B/S應用程序時必須要認真考慮的一個重要問題。

1 傳統的網絡安全認證方法

與傳統的C/S架構應用程序不同,ASP.NET應用程序由一系列單獨的網頁組成,如果沒有必要的安全設置,任何一個用戶都可以直接通過網頁的URL訪問頁面,則安全無從談起。

在傳統的asp及asp.net用戶身份認證中,一般采用Session對象保存用戶登錄狀態和用戶角色等信息[1]。當用戶訪問除了登錄頁面之外的其它頁面時,程序首先檢測Session對象中保存的數據,如果Session中保存的數據不正確,則跳回登錄頁面,如果正確,則從Session中讀取用戶狀態及角色信息,根據不同角色返回不同的頁面或同一頁面中不同的內容。

在一些要求不太嚴格的ASP程序中,也有通過查詢字符串或通過Cookie存儲用戶身份認證通過的,但這是及不安全的做法,在這兩種處理方式中用戶都有可能篡改驗證數據,偽造已通過認證的假象。

2 ASP.NET基于角色的安全管理

從ASP.NET2.0開始出現了基于角色的安全管理技術,并提供了7個用于身份識別的控件和一個網站管理工具。使于基于角色的安全管理技術,能及大地提高開發效率,提升網站安全級別?;诮巧陌踩芾砑夹g主要包括以下兩個方面的內容:

(1)用戶身份認證:主要包括新用戶注冊、用戶登錄、修改密碼、顯示狀態和其它信息等。這些操作基本上都可以通過工具箱“登錄”選項卡中的7個控件來完成。

(2)用戶權限管理:主要包括為用戶分配角色和為角色分配可訪問的資源等。

使用基于角色的安全管理技術,重點在于開發人員在規劃創建ASP.NET站點時,需要根據資源的級別不同使用樹形目錄的方式進行組織。需要在根站點下設置若干子目錄,將安全等級不同的文件存放在不同的子目錄中,然后為每個子目錄添加一個w eb.config文件,利用該文件配置本目錄的安全規則。

在vs2010中默認的方法是通過“ASP.NET網站管理工具”及登錄控件配合來完成添加用戶、添加角色、編輯訪問規則等信息。同時系統會自動在App_Data目錄下創建一個名為aspnetdb.mdf的數據庫文件,此數據庫是系統自動創建,專門用于存儲用戶、角色等信息,我們可以通過“ASP.NET網站管理工具”對其進行維護。

但是,系統默認創建的aspnetdb.mdf數據庫為SQLEXPRES S版,存儲在站點的App_Data目錄,數據庫連接名為LocalSqlS erver,這給我們站點的發布及數據的遷移帶來一些新問題,再者在一些復雜的應用環境中,必須通過編寫程序來實現特定的網站安全管理。下文主要探討如何通過Membership API編程的方式實現用戶、角色的安全管理。

3 Membership API編程概述

Membership API是Membership類中公有方法的集合,使用Members API能夠實現用戶、角色的常規管理,如創建用戶、刪除用戶、創建角色等。在vs2010中可以通過Login登錄控件能實現的功能,通過Members API都能以編程的方式實現,而且更加靈活強大。想通過Membership API編程的方式實現用戶、角色的常規管理,需要從以下幾個方面理解:

3.1 命名空間的引用

Membership類包含于System.Web.Security命名空間,使用其方法前應使用using命令在應用程序中引用該命名空間,即

Using System.Web.Security;

3.2 將安全數據庫(AspNet.mdf)信息導入系統數據庫

系統默認下安全數據庫與系統數據庫是分開的,為方便后續數據庫的管理及遷移,應將安全數據庫信息導入系統數據中。

為完成安全數據導入,需要運行Asp.net SQL Server注冊工具(aspnetregsql.exe),并通過向導完成相應的導入操作。該工具為一個單獨的工具程序,默認存放在C:WindowsMicrosoft.NE TFrameworkv4.0.30319中(注,VS版本不同,存放位置也不同),找到aspnet_regsql.exe文件并雙擊打開,啟動ASP.NET SQL Ser ver安裝向導,在歡迎對話框中直接單擊“下一步”按鈕,打開如下圖1所示的“選擇服務器的數據庫”對話框,輸入SQL Server服務的計算機名稱或IP地址,填寫對數據庫有管理權限的用戶名和密碼,并在下拉列表中選擇你的系統數據庫名稱(如本例假定為ABC),如下圖1所示。

圖1 ASP.NET SQL Server安裝向導配置

然后單擊“下一步”按鈕,在打開的確認對話框中核對前面輸入和選擇的項目后單擊“下一步”按鈕,在最后出現的完成對話框中單擊“完成”按鈕,結束安全信息數據庫的導入操作。操作完成后,在數據庫管理界面中可以看到如圖2所示的相關安全數據表。

圖2 相關安全數據表

3.3 在web.config中配置Membership類

在web.config中的Membership類的相關配置尤為關鍵,在<connectionStrings>節中添加數據庫連接,具體如下:

然后在system.web節中配置如下代碼:

通過以上幾個步驟的配置,就完成了安全數據庫與網站數據庫合并,修改了vs2010默認安全連接,接下來通過編程的方式實現網站安全管理。

4 編程方式完成用戶、角色相關操作的具體代碼實現

4.1 編程方式添加用戶的具體代碼實現

在網站中添加一個Web窗體,在Web窗體中添加一個按鈕,雙擊按鈕進入窗體后臺代碼編輯界面,首先引入命名空間:

using System.Web.Security;

編寫獲取錯誤提示信息的方法GetErrorMessage()。

在窗體中設計如下圖3所示創建用戶界面,所用控件均為系統自帶文本框控件,并按次序分別命名為Username、Password、Email、Questions、Answer。

圖3 創建用戶界面

在按鈕的單擊事件中添加如下代碼:

MembershipCreateStatus status;

Membership.CreateUser(Username.Text,Password.Text,E mail.Text,Question.Text,

Answer.Text,false,out status);

Response.Write(GetErrorMessage(status));

運行窗體,然后在創建用戶表單中輸入相應的值,單擊“創建用戶”按鈕,則該安全用戶編程創建成功。

4.2 編程方式完成角色管理的代碼實現

角色管理是指創建、刪除、查詢、分配角色的操作。這些操作可以通過Roles類中提供的一系列方法來完成。所有操作均基于引用了System.Web.Security命名空間,且必須建立在完成了第3節所有配置的基礎之上。

(1)創建新角色

創建一個新角色可以使用Roles類的CreateRole()方法來實現,其語法格式為:

Roles.CreateRole(RoleName);

其中,RoleName參數表示希望創建的新角色名稱。例:

Roles.CreateRole(”admin”);

則創建了一個名為admin的角色。

(2)為用戶分配角色

為數據庫中現有用戶分配角色可以使用Roles類的AddUser ToRole()方法來實現,例:

Roles.AddUserToRole(“郭某某”,”admin”);

意為將用戶郭某某添加到admin角色中。

依此做法,都將能以編程的方式完成用戶、角色的添加、刪除、查詢、更新等一系列操作,限于篇幅,此處再不贅述。

5 網站訪問管理規則的創建

所謂“網站訪問規則”是指為網站中不同的文件夾分配可以訪問的用戶或角色。為網站創建訪問規則可以有兩種方法:

5.1 用“asp.net網站管理工具”創建

可以借助“asp.net網站管理工具”可視化界面操作完成對每個文件夾的安全配置,如圖4所示。

圖4 文件夾的安全配置

注意,此時在“asp.net網站管理工具”中所做的所有操作,都將保存在系統數據庫即我們指定的數據庫中。

每個目錄的訪問規則可以由若干條組成,但執行的順序為自上而下,當某一條目被匹配后后續的條目不再處理,所以設置規則時條目的排列十分重要。

5.2 直接手動配置每個目錄的web.config文件

Web.config是一個XML文件,我們隨時都可以通過記事本編輯此文件,完成對網站目錄的安全配置。例,手動配置網站a dmin目錄下的web.config文件,配置內容如下:

<allow roles="超級管理員" />意思為此admin目錄超級管理員可以訪問,<deny roles="普通用戶" />普通用戶不能訪問。

理解了上述語法含義,程序員就可以輕松的使用記錄事本編輯web.config文件,達到修改或創建網站訪問規則的目的。

6 結語

本文所探討內容在win7+vs2010下均測試通過。

總之,實現網站安全管理的手段有很多,但通過Members API以編程的方式實現,將使網站安全管理更加靈活、強大,同時在數據遷移及網站發布方面將帶來意想不到的便利。

[1]崔森,關六三,彭煒.ASP.NET程序設計(C#版)[M].北京:機械工業出版社,2013.

猜你喜歡
按鈕數據庫用戶
這些按鈕能隨便按嗎?
當你面前有個按鈕
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 欧美精品导航| 欧美日韩福利| 国产99热| 精品夜恋影院亚洲欧洲| 黑色丝袜高跟国产在线91| 自慰高潮喷白浆在线观看| 国产手机在线ΑⅤ片无码观看| 亚洲最猛黑人xxxx黑人猛交| 国产欧美另类| 福利国产微拍广场一区视频在线| 日韩精品亚洲一区中文字幕| 欧美区一区| 丰满少妇αⅴ无码区| 国产成人免费高清AⅤ| 人妻熟妇日韩AV在线播放| 99re免费视频| 免费人欧美成又黄又爽的视频| 乱系列中文字幕在线视频| 91成人免费观看在线观看| 色成人综合| 欧美日韩资源| 26uuu国产精品视频| 亚洲精品手机在线| 狠狠亚洲婷婷综合色香| 免费黄色国产视频| 久久国产V一级毛多内射| 国产美女91视频| 色婷婷久久| 中文字幕久久亚洲一区| 2022国产91精品久久久久久| AV不卡无码免费一区二区三区| 超碰色了色| 六月婷婷激情综合| 在线欧美一区| 欧美不卡视频一区发布| 日本AⅤ精品一区二区三区日| 国产伦精品一区二区三区视频优播| 久久精品亚洲热综合一区二区| 国产精品欧美激情| a免费毛片在线播放| 国产欧美日韩视频一区二区三区| 97在线观看视频免费| 好紧好深好大乳无码中文字幕| 国产 在线视频无码| 亚洲国产成人自拍| 亚洲国产中文欧美在线人成大黄瓜| 日本黄网在线观看| 亚洲天堂精品视频| 国产亚洲视频中文字幕视频| 综合五月天网| 狠狠色成人综合首页| 精品亚洲国产成人AV| 99精品国产自在现线观看| 午夜限制老子影院888| 国产尤物jk自慰制服喷水| www.亚洲天堂| 美女无遮挡免费网站| 国产综合网站| 亚洲欧美在线综合一区二区三区| 强奷白丝美女在线观看| 国产精品免费久久久久影院无码| 在线免费a视频| 欧美在线综合视频| 国产自视频| 久久一级电影| 伊人久久婷婷五月综合97色| 毛片手机在线看| 美女无遮挡拍拍拍免费视频| 精品国产aⅴ一区二区三区| 国产手机在线小视频免费观看| 国产精品浪潮Av| 成人福利在线视频| 婷婷六月色| 欧美在线一二区| 亚洲国产中文欧美在线人成大黄瓜| 午夜欧美理论2019理论| 国产亚洲精品在天天在线麻豆| 免费毛片全部不收费的| 亚洲欧美日韩另类在线一| 尤物特级无码毛片免费| 成人国产三级在线播放| 日本道中文字幕久久一区|