程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET系統用戶權限設計與實現

ASP.NET系統用戶權限設計與實現

編輯:關於ASP.NET

摘 要 本文依據RBAC的基本思想,利用ASP.NET中的用戶控件技術,設計了在電子商務系統中用戶權限控制的一種具體實現方法。

關鍵詞 ASP.NET 角色訪問控制 用戶控件

引言

電子商務系統對安全問題有較高的要求,傳統的訪問控制方法DAC(Discretionary Access Control,自主訪問控制模型)、MAC(Mandatory Access Control,強制訪問控制模型)難以滿足復雜的企業環境需求。因此,NIST(National Institute of Standards and Technology,美國國家標准化和技術委員會)於90年代初提出了基於角色的訪問控制方法,實現了用戶與訪問權限的邏輯分離,更符合企業的用戶、組織、數據和應用特征。ASP.NET是微軟為了抗衡JSP而推出的新一代ASP(Active Server Pages)腳本語言,它借鑒了JSP的優點,同時它又具有自身的一些新特點。

本文將首先介紹ASP.NET的基本情況和RBAC(Role Based Access Control)的基本思想,在此基礎上,給出電子商務系統中實現用戶權限控制的一種具體方法。

ASP.NET概述

1、ASP.NET

ASP.NET是微軟流行的動態WEB編程技術活動服務器網頁(ASP)的最新版本,但它遠不是傳統ASP簡單升級。ASP.NET和ASP的最大區別在於編程思維的轉換,ASP.NET是真正的面向對象(Object-oriented),而不僅僅在於功能的增強。

在ASP.NET中,Web 窗體頁由兩部分組成:視覺元素(HTML、服務器控件和靜態文本)和該頁的編程邏輯。其中每一部分都存儲在一個單獨的文件中。可視元素在一個擴展名為 .aspx 文件中創建,而代碼位於一個單獨的類文件中,該文件稱作代碼隱藏類文件擴展名為.aspx.vb 或 .aspx.cs。這樣,.aspx文件中存放所有要顯示的元素,aspx.vb或.aspx.cs文件中存放邏輯。

2、用戶控件(UserControl)

為了使用戶能夠根據需要方便地定義控件,ASP.NET引入了 Web 窗體用戶控件的概念。實際上,只要將.aspx稍作修改即可轉換為 Web 用戶控件,擴展名為 .ascx,.ascx和.aspx文件一樣也有一個存放邏輯的代碼隱藏類文件,擴展名為.ascx.vb或.ascx.cs,只是它不能作為獨立 Web 窗體頁來運行,只有當被包含在 .aspx文件中時,用戶控件才能工作。

通過以下兩個步驟在WEB窗體頁中設置用戶控件:

(1)使用@ Register指令在.aspx文件中注冊用戶控件。如要注冊在放在相對路徑“../UserControl/”下的頭文件headinner.ascx的方法為:

<%@ Register TagPrefix="Acme" TagName="Head" Src="../UserControl/headinner.ascx" %>

(2)在服務器控件的開始標記和結束標記之間(<form runat=server> </form>) 聲明該用戶控件元素。例如要聲明上面所導入的控件的語法為:

<Acme: Head runat="server"/>

這樣,該控件就成為頁的一部分,並將在處理該頁時呈現出來。並且,該控件的公共屬性、事件和方法將向 Web 窗體頁公開並且可以通過編程來使用。根據這個原理,就可以將每個頁面初始化時所要執行的操作(如登錄驗證,角色驗證)封裝在用戶控件當中。

RBAC的基本思想

RBAC(角色訪問控制)的基本思想可簡單地用圖1來表示,即把整個訪問控制過程分成兩步:訪問權限與角色相關聯,角色再與用戶關聯,從而實現了用戶與訪問權限的邏輯分離。

由於RBAC實現了用戶與訪問權限的邏輯分離,因此它極大的方便了權限管理。例如,如果一個用戶的職位發生變化,只要將用戶當前的角色去掉,加入代表新職務或新任務的角色即可,角色/權限之間的變化比角色/用戶關系之間的變化相對要慢得多,並且委派用戶到角色不需要很多技術,可以由行政管理人員來執行,而配置權限到角色的工作比較復雜,需要一定的技術,可以由專門的技術人員來承擔,但是不給他們委派用戶的權限,這與現實中情況正好一致。

用戶權限在.NET中的設計與實現

利用.NET中的用戶控件實現權限控制的基本思想是:根據角色訪問控制(RBAC)的基本原理,給用戶分配一個角色,每個角色對應一些權限,然後利用ASP.NET中的用戶控件(UserControl)來判斷該用戶對應的角色是否對訪問頁面有訪問的權力。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved