亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用Membership API 編程實現(xiàn)asp.net網(wǎng)站安全管理探析

        2016-02-05 07:44:11郭建明
        關(guān)鍵詞:按鈕數(shù)據(jù)庫用戶

        ◆郭建明

        (甘肅機(jī)電職業(yè)技術(shù)學(xué)院 甘肅 741001)

        利用Membership API 編程實現(xiàn)asp.net網(wǎng)站安全管理探析

        ◆郭建明

        (甘肅機(jī)電職業(yè)技術(shù)學(xué)院 甘肅 741001)

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

        Membership API;安全管理;角色權(quán)限;訪問規(guī)則

        0 引言

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

        1 傳統(tǒng)的網(wǎng)絡(luò)安全認(rèn)證方法

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

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

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

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

        從ASP.NET2.0開始出現(xiàn)了基于角色的安全管理技術(shù),并提供了7個用于身份識別的控件和一個網(wǎng)站管理工具。使于基于角色的安全管理技術(shù),能及大地提高開發(fā)效率,提升網(wǎng)站安全級別。基于角色的安全管理技術(shù)主要包括以下兩個方面的內(nèi)容:

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

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

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

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

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

        3 Membership API編程概述

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

        3.1 命名空間的引用

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

        Using System.Web.Security;

        3.2 將安全數(shù)據(jù)庫(AspNet.mdf)信息導(dǎo)入系統(tǒng)數(shù)據(jù)庫

        系統(tǒng)默認(rèn)下安全數(shù)據(jù)庫與系統(tǒng)數(shù)據(jù)庫是分開的,為方便后續(xù)數(shù)據(jù)庫的管理及遷移,應(yīng)將安全數(shù)據(jù)庫信息導(dǎo)入系統(tǒng)數(shù)據(jù)中。

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

        圖1 ASP.NET SQL Server安裝向?qū)渲?/p>

        然后單擊“下一步”按鈕,在打開的確認(rèn)對話框中核對前面輸入和選擇的項目后單擊“下一步”按鈕,在最后出現(xiàn)的完成對話框中單擊“完成”按鈕,結(jié)束安全信息數(shù)據(jù)庫的導(dǎo)入操作。操作完成后,在數(shù)據(jù)庫管理界面中可以看到如圖2所示的相關(guān)安全數(shù)據(jù)表。

        圖2 相關(guān)安全數(shù)據(jù)表

        3.3 在web.config中配置Membership類

        在web.config中的Membership類的相關(guān)配置尤為關(guān)鍵,在<connectionStrings>節(jié)中添加數(shù)據(jù)庫連接,具體如下:

        然后在system.web節(jié)中配置如下代碼:

        通過以上幾個步驟的配置,就完成了安全數(shù)據(jù)庫與網(wǎng)站數(shù)據(jù)庫合并,修改了vs2010默認(rèn)安全連接,接下來通過編程的方式實現(xiàn)網(wǎng)站安全管理。

        4 編程方式完成用戶、角色相關(guān)操作的具體代碼實現(xiàn)

        4.1 編程方式添加用戶的具體代碼實現(xiàn)

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

        using System.Web.Security;

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

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

        圖3 創(chuàng)建用戶界面

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

        MembershipCreateStatus status;

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

        Answer.Text,false,out status);

        Response.Write(GetErrorMessage(status));

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

        4.2 編程方式完成角色管理的代碼實現(xiàn)

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

        (1)創(chuàng)建新角色

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

        Roles.CreateRole(RoleName);

        其中,RoleName參數(shù)表示希望創(chuàng)建的新角色名稱。例:

        Roles.CreateRole(”admin”);

        則創(chuàng)建了一個名為admin的角色。

        (2)為用戶分配角色

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

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

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

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

        5 網(wǎng)站訪問管理規(guī)則的創(chuàng)建

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

        5.1 用“asp.net網(wǎng)站管理工具”創(chuàng)建

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

        圖4 文件夾的安全配置

        注意,此時在“asp.net網(wǎng)站管理工具”中所做的所有操作,都將保存在系統(tǒng)數(shù)據(jù)庫即我們指定的數(shù)據(jù)庫中。

        每個目錄的訪問規(guī)則可以由若干條組成,但執(zhí)行的順序為自上而下,當(dāng)某一條目被匹配后后續(xù)的條目不再處理,所以設(shè)置規(guī)則時條目的排列十分重要。

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

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

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

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

        6 結(jié)語

        本文所探討內(nèi)容在win7+vs2010下均測試通過。

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

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

        猜你喜歡
        按鈕數(shù)據(jù)庫用戶
        哪個是門鈴真正的按鈕
        當(dāng)你面前有個按鈕
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        內(nèi)心不能碰的按鈕
        少妇被粗大的猛进69视频| 91福利视频免费| 久久精品国产72国产精福利 | 一本大道香蕉最新在线视频| 如何看色黄视频中文字幕| 日韩色久悠悠婷婷综合| 中文字字幕在线中文乱码解| 色婷婷五月综合久久| 国产成人精品一区二区不卡| 欧美性久久| 亚洲一区二区三区久久久| 日本高清乱码中文字幕| 伊人久久大香线蕉亚洲五月天| 国产人成无码中文字幕| 丝袜美女美腿一区二区| 国产在线一区二区三区四区| 亚洲精品无码久久久久牙蜜区| 国产午夜无码视频免费网站| 日本人妻系列一区二区| а天堂中文地址在线| 成熟丰满熟妇高潮xxxxx视频| 久久人人97超碰超国产| 亚洲AV日韩AV高潮喷潮无码| 国产av剧情久久精品久久| 国产精品久久久久9999吃药| 亚洲精品国产成人AV| 亚洲一本之道高清在线观看| 一区二区三区精品少妇| 久久久午夜精品福利内容| 精品国产91久久综合| 亚洲av色香蕉一区二区三区潮| 国产又色又爽无遮挡免费软件| 97久久精品亚洲中文字幕无码 | 女同另类激情在线三区| 国产自拍成人免费视频| 被黑人猛躁10次高潮视频| 无码日日模日日碰夜夜爽| 99亚洲女人私处高清视频| 日本在线 | 中文| 中文字幕一区二区三区久久网站 | 日韩熟女精品一区二区三区视频|