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

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

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

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

    SQL Server2005 SQLCLR代碼之CLR安全

    發布: 2008-10-13 09:44 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 22次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:數據庫
    一、 CLR安全

      在第一篇中,我們已經討論了宿主于和在SQL Server內執行的.NET代碼的安全環境-從SQL Server的角度來觀察SQLCLR代碼模塊。但是CLR使用其自己的安全模型。一旦SQL Server同意進行所有的許可權檢查并且允許代碼執行,那么這種模型就會"強制介入"。僅僅因為它能夠執行并不意味著它能夠做它想做的任何事情。

      CLR提供給它運行的.NET代碼和它運行的主機許多服務。這些服務包括:

      1)類型安全檢查-校驗代碼能夠以良好定義的方式來存取內存結構;

      2)基于角色的安全-根據由誰運行代碼;

      3)代碼存取安全-在這種情況下,許可權的授予是基于代碼特征而不是基于誰在運行代碼;

      4)應用程序域-它提供在宿主進程中實現安全執行地帶。

      在數據庫中的所有具有相同所有者的程序集都被加載到同一個AppDomain中,不管它們被安裝到哪個數據庫中。在一個AppDomain中的每一個程序集都能夠通過反射找到另外每一個其它程序集。既然它們具有相同的所有者,所以SQL Server不必執行它自己的權限檢查,這有助于性能的改進。但是這些措施并不能解決實際存在的代碼存取安全問題。

      CLR還強制實行宿主保護屬性(HPA)-允許一個宿主(在此情況下,是指SQL Server)控制允許SQLCLR代碼使用.NET框架的指定部分。其實,在可靠性方面,還有除了安全性外的其它方面的內容。

      二、 代碼存取安全性

      CLR提供的最重要的服務之一是代碼存取安全性(CAS)。CAS的基本原則是,為代碼賦予特權,而不是針對用戶。如果你已習慣于Windows或SQL Server模式的把許可權賦予用戶和登錄而不是它們正在執行的代碼,這聽上去似乎有些奇怪。但是,就算SQLCLR代碼在一個管理用戶的安全上下文下執行,它也可能不具有所有可用的許可權。事實上,在SQL Server內部執行的SQLCLR代碼幾乎一定不會擁有所有許可權-這稱為"完全信任"。

    延伸閱讀

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

    TAG: CLR sql SQL Sql 代碼

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>