• <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來源:作者:點擊數: 標簽:代碼sqlSQLSqlCLR
    關鍵字: 數據庫 一、 C LR 安全 性 在第一篇中,我們已經討論了宿主于和在 SQL Server內執行的.NET代碼的安全環境-從SQL Server的角度來觀察SQLCLR代碼模塊。但是CLR使用其自己的安全模型。一旦SQL Server同意進行所有的許可權檢查并且允許代碼執行,那么這
    關鍵字:數據庫
    一、 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

    老湿亚洲永久精品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>