自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡單概述SQLCLR CAS權(quán)限集

開發(fā) 后端
文章主要介紹了SQLCLR CAS權(quán)限集的問題,對于來自四種策略級別的CAS許可權(quán)的交集,.NET框架2.0配置工具的策略級別,實際SQLCLR CAS權(quán)限集代碼問題的解決。

我們將詳細(xì)地討論關(guān)于SQLCLR CAS權(quán)限集的問題。但是,請記住,我們說的是許可權(quán)問題并不是在SQL Server內(nèi)部的那種,而是在SQL Server外部-在操作系統(tǒng)中的許可權(quán)。例如,比方說SQLCLR代碼不得不打開一個磁盤文件來記錄一些日志數(shù)據(jù),或進(jìn)行連接以從另一個數(shù)據(jù)庫讀取數(shù)據(jù)。CAS許可權(quán)限制代碼能夠存取該磁盤文件的方式以及到其它數(shù)據(jù)庫的連接方式。

為了運行某種方法,無論何時CLR裝載一個程序集,它都要收集關(guān)于該程序集的與在該機器上定義的策略相匹配的證據(jù)以便授予其相應(yīng)的許可權(quán)。典型地,對于.NET程序集的證據(jù)通常包括位置(原始)數(shù)據(jù)(程序集從這里運行)和身份數(shù)據(jù)。但是,既然一個SQLCLR程序集從SQL Server內(nèi)部運行,那么,位置證據(jù)基本上是不相關(guān)的。這樣以來,只剩下了身份證據(jù),例如是否該程序集擁有一個強名字或者是經(jīng)過一家特定公司進(jìn)行數(shù)字簽名的。

來自四種策略級別的CAS許可權(quán)的交集

CLR收集該證據(jù),然后與四種策略級別(企業(yè),機器,用戶和AppDomain)加以比較。(SQL Server文檔經(jīng)常調(diào)用AppDomain級別"Host Policy",但這是一回事。在.NET框架中,AppDomain是更為典型的術(shù)語,我經(jīng)常使用它)。由CLR授予給一個程序集的實際的許可權(quán)集是在每一個級別上授予的許可權(quán)的交集。

這四種級別中的每一種都有其自己的許可權(quán)集合。為了決定授予給一個程序集的許可權(quán)集,CLR使用這些許可權(quán)的交集-也即是,各種許可權(quán)集的公共集合,并且把這個交授予給該程序集。

你可以使用.NET框架2.0配置工具來分析前三種策略級別:企業(yè),機器和用戶。展示了這個工具,當(dāng)你展開TreeView控件的運行時刻安全策略部分時顯示策略級別。

.NET框架2.0配置工具的策略級別

在此,一個用戶或系統(tǒng)管理員能夠修改顯示的級別的默認(rèn)策略,這樣以來,一個程序集在其加載時就擁有更多或更少的許可權(quán)。這可能是個比較復(fù)雜的主題,但是對于SQLCLR代碼來說,事實上,所有的安裝在本地機器上的.NET代碼,這三種策略級別默認(rèn)地都把"完全信任"指派給一個程序集。"完全信任"僅僅意味著,代碼自動地?fù)碛忻恳环N可能的權(quán)限。更精確地說,它意味著,CLR并不進(jìn)行任何權(quán)限檢查。

如果程序集默認(rèn)地?fù)碛袡z查"短路"的許可權(quán),那么為什么我建議你讀取所有關(guān)于CAS的內(nèi)容呢?

實際SQLCLR CAS權(quán)限集代碼

理由是,CLR共使用四種策略級來指派許可權(quán),但是只有其中三種能夠使用如圖4所示的工具來進(jìn)行配置。第四種是AppDomain級別,該級別是當(dāng)你把一個程序集安裝到一個數(shù)據(jù)庫時創(chuàng)建的。該策略級別由SQL Server控制作為CLR宿主。而且,SQL Server極少會授予一個程序集完全許可權(quán)信任,因為這對于安全性和可靠性都可能意味著極度的冒險。

顯示出默認(rèn)情況下在SQLCLR代碼所發(fā)生的實際情況(記住,一個用戶或系統(tǒng)管理員都能夠修改企業(yè)、機器和用戶級上的策略設(shè)置,此時,情況與圖3所示相同)。因為企業(yè)、機器和用戶策略級別都授予完全信任權(quán)限,他們具有相同的結(jié)果權(quán)限集-所有的許可權(quán)。該權(quán)限集與AppDomain權(quán)限集相交的結(jié)果就是程序集許可權(quán)集。以上是簡單的介紹了一下在SQLCLR CAS權(quán)限集代碼,以后還會深入細(xì)致的講解,請關(guān)注。

【編輯推薦】

  1. 全面講解CLR安全性
  2. 運用SQL SERVER 2005 CLR解決XML Showplan實例
  3. .Net Compact Framework CLR設(shè)計系列之JIT編譯器講解
  4. CLR VIA C#教程之基元類型 值類型 引用類型介紹
  5. 趣談CLR集成性能設(shè)計選擇
責(zé)任編輯:田樹 來源: 中國網(wǎng)絡(luò)
相關(guān)推薦

2009-09-10 16:28:17

LINQ查詢

2009-09-22 15:10:22

Hibernate映射

2009-09-28 12:57:54

Hibernate C

2010-05-28 13:37:50

MySQL簡單命令

2009-09-09 10:58:58

Linq結(jié)果集形狀

2014-08-21 15:29:29

Material De概述

2010-04-13 17:10:59

Oracle Data

2009-11-13 10:01:50

ADO.NET CAS

2009-09-10 13:13:47

Linq Func<T

2009-09-15 13:53:53

Linq To Sql

2010-07-19 10:52:39

Perl簡單變量

2010-04-12 10:54:13

Oracle性能測試

2009-09-09 16:07:16

Linq實體關(guān)系

2009-09-11 10:16:07

Linq匿名類型

2009-09-15 13:37:24

Linq To Sql

2009-12-31 15:52:21

Ubuntu命令

2009-09-17 11:35:40

Linq匿名類型

2010-01-07 14:43:05

Ubuntu jdk

2011-08-31 10:26:38

MTK驅(qū)動開發(fā)

2009-09-14 10:54:07

LINQ解決方案
點贊
收藏

51CTO技術(shù)棧公眾號