首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 系統使用者權限設計與實作:RBAC 模式搭配使用者控制項

     編輯:關於ASP.NET

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

關鍵字:ASP.NET、角色存取控制、使用者控制項

引言

電子商務系統對安全問題有較高要求,傳統存取控制方法 DAC(自主存取控制模型)、MAC(強制存取控制模型)難以滿足複雜企業環境需求。因此,NIST(美國國家標準與技術委員會)90 年代初提出基於角色存取控制方法,實現用戶與存取權限邏輯分離,更符合企業用戶、組織、資料與應用特徵。ASP.NET 是微軟為抗衡 JSP 推出新一代 ASP(Active Server Pages)腳本語言,借鑒 JSP 優點,同時具自身新特點。

本文將先介紹 ASP.NET 基本情況與 RBAC 基本思想,在此基礎上給出電子商務系統實現使用者權限控制具體方法。

ASP.NET 概述

1、ASP.NET

ASP.NET 是微軟流行動態 WEB 程式技術活動伺服器網頁(ASP)最新版本,但遠非傳統 ASP 簡單升級。ASP.NET 與 ASP 最大區別在於程式設計思維轉換,ASP.NET 是真正面向物件,而不僅僅功能增強。

ASP.NET 中,Web 表單頁由兩部分組成:視覺元素(HTML、伺服器控制項與靜態文字)與該頁程式邏輯。其中每部分都儲存在單獨檔案中。可視元素在副檔名 .aspx 檔案建立,程式碼位於單獨類別檔案,稱作代碼隱藏類別檔案副檔名 .aspx.vb 或 .aspx.cs。這樣,.aspx 檔存放所有顯示元素,aspx.vb 或 aspx.cs 存放邏輯。

2、使用者控制項

為讓用戶能根據需求方便定義控制項,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 中使用者控制項判斷該用戶對應角色是否對訪問頁面有存取權力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved