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

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

  • <strong id="5koa6"></strong>
  • 怎樣用微軟IIS實現身份認證管理詳解

    發表于:2008-05-26來源:作者:點擊數: 標簽:微軟管理IIS身份認證iis
    MIIS概觀 MIIS(Microsoft Identity Integration Server)由包含配置信息及數據的后端SQL Server 2000 數據庫 和服務組成。下圖就是MIIS的邏輯構成: 數據源的數據進出MIIS都要經過名為連接器空間的區域。MIIS中的對象大致相當于數據庫中的記錄。連接器空間中
    MIIS概觀

    MIIS(Microsoft Identity Integration Server)由包含配置信息及數據的后端SQL Server 2000數據庫和服務組成。下圖就是MIIS的邏輯構成:



    數據源的數據進出MIIS都要經過名為連接器空間的區域。MIIS中的對象大致相當于數據庫中的記錄。連接器空間中的對象相應的稱為連接器對象。當連接器空間中創建了連接器對象后,MIIS為后者分配一個全局唯一標識符(GUID)。

    連接器對象具有屬性。對象大致相當于數據庫中的記錄,屬性則相當于記錄的字段。連接器對象的錨屬性常為數據源的關鍵字段。

    Metaverse是存放傳輸到其他數據庫的數據的地方。數據離開連接器空間、進入Metaverse的過程稱為映射(projection)。管理代理通過以下操作控制數據進出連接器空間:

    ·導入(staging):將數據從數據源1輸入連接器空間1

    ·同步(Sync):將數據輸入Metaverse,并輸出至連接器空間2

    ·導出(Export):將數據從連接器空間2輸入到數據源2

    MIIS通過上述操作記錄對象是否發生過修改。這樣MIIS就可以只移動修改過的數據,從而加快處理速度。

    隨著數據導出到數據源2,伴隨著名為 "provisioning"的數據源增加新數據的過程以及名為"deprovisioning"的移除數據的過程。

    樣例描述

    本文的樣例代碼模擬了一個典型的MIIS場景。它用SQL Server 2000 數據庫中自帶的Northwind數據作為員工信息來源。它的作用是從Northwind員工表發送員工身份號、姓、名和雇傭日期字段至Metaverse,隨后再發送至另一個SQL Server 2000 數據庫。

    下載樣例代碼

    下載地址:http://www.developer.com/img/2005/07/MIISSource.zip。

    身份識別認證

    所有操作及許多MIIS開發都是由身份管理器(identity manager )控制的。



    身份管理器可分為三個主要工具:操作(operation)、管理代理(management agent)及Metaverse Designer。操作能使您看到MIIS內發生的活動。

    用Metaverse Designer更新Metaverse 正如上面所討論的,Metaverse是對象進出的中轉站。Metaverse中包括您想與其他系統集成的數據。在Metaverse中,您必須創建兩樣東西:對象及其屬性。當您從Metaverse Designer工具中選擇"創建對象類型"選項,就會彈出下面的對話框:



    一旦您選擇了"創建對象類型",輸入對象的名稱,并選擇可選屬性(或自己創建新的屬性)。下面是"新屬性"對話框:



    在屬性類型下拉式列表中,屬性類型有整數型、布爾型和其他數據類型。您還可以選擇索引數據,加快數據庫訪問速度。注意:Metaverse中的屬性名稱必須是唯一的。

    創建好Metaverse對象后,就可以開始向Metaverse內添加數據。管理代理將控制數據如何進出Metaverse。

    配置管理代理

    管理代理是MIIS活力的源泉。它們管理連接器空間,并配置進入Metaverse的數據。要創建新的管理代理,點擊工具條上的管理代理按鈕,并從動作菜單中選擇"創建"項。從下圖的管理代理設置對話框中,您可以看到有許多種管理代理可供選擇。



    事實上,除了上面列出的之外,您還可以創建自己的管理代理。MIIS的軟件開發工具包中就有創建自定義的管理代理的文檔。

    在本例中,您需要創建兩個管理代理:一個用于控制進入Metaverse的HumanResourceData對象的數據,另一個則是控制流出HumanResourceData對象的數據。由于您還要從SQL Server 2000數據庫中移入和移出數據,所以您還得創建SQL Server管理代理。

    配置SQL Server 2000管理代理的第一步是選擇服務器和表(或視圖)(見下圖)。



    如果您選擇集成身份驗證,就必須輸入用戶名和域。當您設置好數據庫信息,MIIS管理代理就從表設置中讀取信息,并在連接器空間中設置合適的信息。下圖的對話框顯示了表中的列設置信息。



    這一對話框中兩個主要的設置是錨(或關鍵字段)和連接器的對象類型。

    MIIS管理代理下一步主要的設置是映射規則。您可以以兩種方式設置流入Metaverse的信息:映射規則和加入規則。在這兩種規則下,MIIS確定何時拷貝新對象到Metaverse的技術不同。映射規則把來自數據源的所有數據都輸入到映射對話框中指定的Metaverse對象中。



    加入規則相當于數據庫的更新。當您啟用加入規則后,就會根據您在管理代理中設置的加入規則,更新Metaverse 中已有的對象

    最后一步是配置屬性數據流動。屬性數據流動把進出的數據映射到Metaverse 中的字段(屬性)。下圖顯示了Northwind數據流入Metaverse 的屬性數據流動。



    數據流出Metaverse 的管理代理與流入時的管理代理有以下幾個根本不同之處:

    ·它沒有映射規則

    ·屬性流動從Metaverse 指向流出的目標數據源

    ·在配置信息中沒有錨值屬性數據流動

    ·為了便于部署和版本控制,您可以將所有配置信息導出至XML文件

    配置好管理代理之后,就可以定義開始導入、導出和同步的過程了。

    復制數據至Metaverse 中:導入與同步

    管理代理通過運行概要文件控制導入、導出和同步。運行概要文件包括一系列稱為步驟的操作,步驟可以合并或者分離。下圖顯示了運行步驟的配置屏幕:



    樣例中創建了稱為"導入(Import)"的運行概要文件,它的作用是導入Northwind對象類型。它還創建了名為"同步"的同步運行概要文件,它會根據您先前定義好的映射規則和屬性流動規則,把導入的Northwind對象轉移到Metaverse中。它隨后繼續與由名為"MetaverseToExternalDB"的管理代理所管理的"TestDatabase"連接器空間同步。下圖是運行"同步"運行概要文件后的結果。



    MIIS導出和Provisioning

    正如之前提到的,Provisioning是創建帳號的過程。為了在連接器空間2內創建新的對象,您必須使用Visual Studio.NET創建和配置Metaverse規則擴展組件。在工具菜單中選擇"選項",彈出"選項"對話框:



    "創建規則擴展項目"選項會打開新的Visual Studio.NET項目,連同一個類和相應的存根函數(stub function)。為執行provisioning,IMVSynchronization.Provision 函數是您唯一需要編寫的代碼。代碼如下:

    void IMVSynchronization.Provision
    (MVEntry mventry)
         {
                   CSEntry csentry;
                   ConnectedMA ManagementAgent;
    			   // Management agent object
                   int Connectors = 0;
    			   // Management agent connectors
                   ReferenceValue DN;
    			   // Distinguished name attribute
     
                   csentry = null;
     
                   if(mventry["EmpID"].IsPresent)
                   {
              ManagementAgent = 
    		  mventry.ConnectedMAs["MetaverseToExternalDB"];
                               Connectors = 
    		ManagementAgent.Connectors.Count;
                           if ( Connectors == 0 )
                         {
          DN = ManagementAgent.EscapeDNComponent(mventry["
    	  EmpID"].Value.ToString());
     csentry = ManagementAgent.Connectors.
     StartNewConnector("TestDatabase");
             csentry.DN = DN;
               csentry["EmployeeID"].Value = 
    		   mventry["EmpID"].Value.ToString();
                  csentry.CommitNewConnector();
                         }
                   }
             }


    要增加帳號至連接器空間,您要用到兩個關鍵對象:MVEntry和CSentry。MVEntry對象用于控制來自Metaverse對象的訪問。CSentry對象代表了創建在連接器空間中的對象。

    當MIIS確定必須要在連接器空間內創建新對象時,它就調用 provision 函數,通過MVentry類傳輸適當的Metaverse對象。要創建新的連接器空間對象,只需在管理代理中的連接器集合上調用"StartNewConnection"以創建CSentry對象,隨后在CSentry對象上調用"CommitNewConnector",以把對象保存至連接器空間。

    剩下的就是創建把數據從連接器空間2導出至目標數據源的運行概要文件。

    調試和測試管理代理和Metaverse規則擴展

    正如上述提到的,Metaverse規則擴展是您在Visual Studio中創建的.NET組件。與任何Visual Studio .NET項目一樣,您可以用Visual Studio 工具菜單中的"Debug Processes"選項,調試您的組件。在Processes窗口內,顯示所有會話的進程后,選擇miiserver.exe進程,并點擊"attach"按鈕。

    現在,當您改變Northwind數據庫時,執行運行概要文件,就可以把數據復制到Metaverse及目標數據源。

    原文轉自: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>