• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    .NET 框架中的安全性概述

    發布: 2008-5-13 10:38 | 作者: 不詳 | 來源: 賽迪 | 查看: 126次 | 進入軟件測試論壇討論

    領測軟件測試網


    Demand failed
    Demand failed

    在上面的代碼示例中,盡管第一個 Demand 訪問的是一個受限制系統目錄,但它還是成功了。請記住,運行庫安全系統是在基礎操作系統設置上面運行的。因此,可以讓運行庫安全策略對某些目錄授予訪問權限,當托管代碼試圖訪問這些目錄時,將會引發操作系統訪問沖突。直接跟在 Deny 后面的下一個 Demand 也成功了。當執行 Demand 時,沒有檢查請求函數的激活記錄,而只檢查了它的調用方。因此,盡管函數已經拒絕訪問,但也不會被 Demand 檢測到。對 CheckDeny 和后面的 Demand 的調用失敗了,F在檢查前面方法中的 Deny,因為它位于調用方的堆棧幀中。接下來我們返回到 Main 并進行一個 Assert。在這里,有一個已經斷言的權限也在這個堆棧幀中被拒絕了。當我們進入 CheckDeny 時,Demand 會再次引發一個異常,這是為什么呢?從本質上講,Deny 重寫了 Assert;這是因為 Deny 權限集總是在 Assert 權限集之前接受檢查。

    簡要的說,使托管資源可以引發托管安全堆棧審核的功能是保護資源的運行庫安全系統方法。授予的權限集是程序集從每個策略級別上運行的授權計算收到的,該權限集會與資源請求的權限進行對照檢查。如果后者形成了前者的一個子集,那么就可以訪問受保護資源。除非已像上面描述的那樣對堆棧進行了修改,否則就會對調用鏈中托管資源的所有調用方執行這種子集檢查。因此安全堆棧審核綜合了運行庫安全系統的以下兩個方面:1) 證據和權限之間的可配置映射;2) 通過強制所有的調用方擁有一定級別的權限來保護資源。 

    實際上有兩種不同的方式可用于以編程的方式表達堆棧審核請求和堆棧修改操作 — 聲明性安全和命令性安全。

    返回頁首
    聲明性方式和命令性方式
    .NET 框架允許開發人員以兩種方式表達安全約束。以聲明性方式 表達安全約束意味著使用自定義屬性語法。這些批注保留在類型的元數據中,在編譯時會有效地溶入到程序集中。下面是聲明性方式安全的一個示例:

    [PrincipalPermissionAttribute(SecurityAction.Demand,
                                  Name=@"culex\damien")]

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>