国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET應用程序的安全方案(二)—授權

2024-07-10 12:57:30
字體:
來源:轉載
供稿:網友
摘要:本文asp.net應用程序授權的概念,介紹了各種授權模式并進行了比較,闡述了選擇授權模式的機制。


關鍵字:授權 authorization asp.net web應用


1.1. 授權概念
任何成功的應用程序安全策略的基礎都是穩固的身份驗證和授權手段,以及提供機密數據的保密性和完整性的安全通訊。
授權(authorization)過程負責控制通過了身份驗證的客戶端可以訪問哪些資源,以及可以執行哪些操作。可訪問的資源既包括文件、數據庫等,還包括系統級的資源,如注冊表,配置數據等。
許多web程序不是直接授權客戶訪問底層的資源,而是通過方法(method)來授權客戶端所能夠執行的操作。這樣做的主要原因是考慮到應用系統的可伸縮性和可管理性。 圖1列出了各種安全技術以及每種技術所提供的主要授權方式。

2. 2. 授權方式
如圖1所示,windows 2000上的.net框架上提供了以下幾種授權方式:

asp.net授權
enterprise services授權
sql server授權
2.1 asp.net授權
2.1.1 url授權
這是一種通過計算機的設置和應用程序配置文件來配置的授權機制。url授權允許限制用戶訪問位于應用程序uri命名空間中的特定文件和文件夾。

2.1.2 文件授權
可以使用此方法來限制對某個web服務器上指定文件的訪問。訪問權限由與文件相關的windows acl所確定。

2.1.3 主體權限請求
主體權限請求(principal permission demand)可以通過聲明方式或是編程方式作為一種額外的精確的訪問控制機制。這種方式允許你根據單個用戶的身份標識組成員關系,來限制對類、方法或單獨代碼的訪問。

2.1.4 .net角色
.net角色用于將應用程序中具有相同權限的用戶分成一組。這種方式可以和基于票證的身份驗證方案(如窗體身份驗證)一起使用,可以通過聲明方式或是編程方式來配置對資源和操作的訪問。

2.2 enterprise services授權
在enterprise services的應用程序中,由enterprise services 角色的成員關系來控制客戶端訪問包含于服務器組件的功能。這些角色和.net角色不同,而且可以包含windows組帳戶或用戶帳戶。角色成員關系是在com+目錄中定義的,而且通過組件服務(component service)工具管理。

2.3 sql server授權
sql server支持精確授權,這些權限可以應用于單獨的數據庫對象。權限既可以基于角色成員關系,也可以授予單獨的windows用戶帳戶或組帳戶。

3. 選擇授權策略
asp.net應用程序有兩種基本的權限策略:基于角色的授權和基于資源的授權。
3.1 基于角色的授權
對操作的訪問通過調用者的角色成員關系,提供安全保護。角色可以將應用程序的用戶群劃分為具有相同安全權限的用戶組。用戶被映射到角色,而且如果某個用戶被授權執行所請求的操作,則應用程序可以用固定的標識來訪問資源。這些標識被各自的資源管理器(如數據庫和文件系統)所信任。

3.23.2 基于資源
單獨的資源使用windows acl來提供安全保護。應用程序在訪問資源之前模擬(impersonate)調用者,這樣可以使操作系統執行標準的訪問檢查。所有對資源的訪問都是使用原始調用者的安全上下文。這種模擬方式在應用程序的中間層連接池不能被有效使用,因而影響了應用程序的可伸縮性。

4. 角色的授權的模式
在大多數可伸縮性至關重要的.net web應用程序,使用基于角色的授權方式是最佳選擇。常用的模式如下:

在前端web應用程序中對用戶進行驗證
將用戶映射到角色
根據角色成員關系來授權對操作(不是直接對資源)的訪問
使用固定的服務標識來訪問必要的后端資源。
一個典型的具體實現步驟如下::
獲取憑據信息
驗證憑據信息
將用戶添加到角色中
創建一個iprincipal對象
將iprincipal對象放置到當前的http上下文中
根據用戶標識/角色成員關系進行授權
實現的代碼參見《asp.net應用程序的安全方案(一)-身份驗證》。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 綦江县| 盐亭县| 石家庄市| 临湘市| 屏南县| 西乌珠穆沁旗| 闽侯县| 衡水市| 微山县| 通许县| 滨海县| 静乐县| 连山| 曲水县| 信阳市| 理塘县| 全椒县| 娱乐| 任丘市| 新宁县| 石渠县| 金塔县| 苍南县| 原阳县| 社旗县| 宜川县| 利辛县| 随州市| 会宁县| 肥西县| 汕尾市| 井陉县| 景东| 北辰区| 黔西| 永州市| 陇川县| 衡水市| 通榆县| 五华县| 称多县|