共用方式為


HTTPSSO (BizTalk Server 範例)

HTTPSSO 範例示範如何使用 Enterprise Single Sign-On (SSO) 功能搭配 Microsoft BizTalk Server HTTP 配接器。

注意

64 位元作業系統不支援這個範例。

此範例的用途

此範例示範使用 SSO 和 BizTalk HTTP 傳送和接收介面卡的端對端案例,以模擬 SSO 如何讓使用者避免在 Windows 驗證之後提供其他認證來登入非 Microsoft Windows 系統。

此範例還會使用 SSO 管理和對應模組,建立使用 SSO 之 interop 用戶端 DLL 的分支機構應用程式和 SSO 對應。

此範例將示範透過實作下列各方面的端對端實例使用 SSO:

  • 使用者介面,以設定為使用 Windows 整合式驗證的Microsoft Internet Information Services (IIS) 虛擬目錄表示。

  • 設定為使用基本驗證的 IIS 虛擬目錄所代表的後端系統。

  • SQL 範例資料庫 Northwind 所代表的後端資料庫。

此範例假設您已安裝 BizTalk Server 和 SSO。 您必須具備 Windows XP Professional 上BizTalk Server、IIS、SSO 和 COM+ 的系統管理員許可權。 您也必須是 SSO 系統管理員、BizTalk Server 系統管理員和 BizTalk 外掛式主控件使用者 Windows 群組的成員。

有效使用此範例的前提為,您具備 SSO 和 BizTalk HTTP 配接器的足夠知識。 例如,您應該了解什麼是 SSO 內容中的分支機構應用程式。 如需這些主題的相關資訊,請參閱 使用 SSO。 另請參閱 HTTP 配接器

在您完成設定之後,此範例的運作方式如下:

  1. 當您在包含此範例之使用者介面的精靈應用程式中按一下 [ 完成 ] 時,Internet Explorer 實例會啟動並傳遞 BizTalk HTTP 接收 DLL 的 URL。

  2. BizTalk Server 搭配 SSO 便能有效地將 HTTP 要求轉寄至已設定為使用基本驗證的 IIS 虛擬目錄中的 EmployeeData.aspx 檔。 此 ASPX 檔會模擬進入非 Windows 後端系統的進入點。 由於您使用的是 SSO,因此 HTTP 要求會包含設定為模擬登入帳戶至所模擬後端系統的憑證。

  3. ASPX 檔會存取修改的 SQL 範例資料庫 Northwind 版本,以擷取對應至模擬後端系統憑證的員工資料。

  4. ASPX 檔會在 HTTP 回應中傳回擷取的員工資料。

  5. BizTalk Server 會將 HTTP 回應傳遞至 Internet Explorer,而 Internet Explorer 會對使用者顯示傳回的員工資料。

    如果您略過 BizTalk Server 和 SSO,並且直接瀏覽至 EmployeeData.aspx 檔,則 Windows 對話方塊會提示您提供憑證。

    如需示範如何使用命令列公用程式 ssomanage.exe 來設定 SSO 的範例,例如建立聯盟應用程式和使用者對應,請參閱管理 (BizTalk Server 範例)

可在何處找到此範例

< 範例路徑>\SSO\HTTPSSO\

下表顯示此範例中的檔案,並描述其用途。

檔案 Description
AssemblyInfo.cs,SsoSample.csproj 此 HTTP SSO 範例的專案及相關檔案。
SsoSample.cs 構成此範例大部分的 HTTP SSO 圖形應用程式的最上層 Microsoft Visual C# 原始程式檔。 此檔案包含 SSO 組態程式碼,此類別名為 SsoConfigurator ,最後是這個範例的點。
在 \Scripts 資料夾中:EmployeeData.aspx 當員工直接或使用 SSO 發出檢視個人資料的要求時,用來存取和查詢後端資料庫 (在此案例中為 SQL Northwind 資料庫)。
在 \Scripts 資料夾中:ValidateUser.aspx 直接或使用 SSO 簡單進行測試以驗證使用者,並報告該使用者是否通過驗證。
在 \UI 資料夾中:AddApplication.cs、AddApplication.resx、AddMapping.cs、AddMapping.resx、App.ico、BtsPage.cs、BtsPage.resx、ExecutePage.cs、ExecutePage.resx、ExecutePage.resx、 FinishPage.cs、FinishPage.resx、IisPage.cs、IisPage.resx、InfoPage.cs、InfoPage.resx、PageBase.cs、PageBase.resx、SsoPage.cs、SsoPage.resx、SsoSampleWizard.cs、SsoSampleWizard.resx、WelcomePage.cs、WelcomePage.resx、WorkPage.cs、WorkPage.resx 輔助 Visual C# 原始程式檔及其相關的 XML 格式資源檔,用於構成此範例大部分的 HTTP SSO 圖形應用程式。

建置和初始化此範例

建置與初始化 HTTPSSO 範例

  1. 建立 Microsoft Internet Information Services (IIS) 可用於基本驗證的本機 Windows 帳戶。 SSO 會將 Windows 網域帳戶對應至此本機 Windows 帳戶。 例如,使用您的姓氏建立本機 Windows 帳戶。

    注意

    如果您是在網域控制站上執行,則可以建立網域帳戶並將您的登入網域帳戶對應至此帳戶。

  2. 使用 Microsoft SQL Server Enterprise Manager,在 Northwind 範例資料庫中開啟Employees資料表,然後新增對應至您剛才建立之本機 Windows 帳戶的資料列,包括各種資料行的範例資料。 您新增至 [員工] 資料表中 [姓氏] 資料欄的值,必須與您在步驟 1 中新增的本機 Windows 帳戶的使用者名稱相同。

  3. 確認 ASP.NET 帳戶 (ASPNET) 具備 Northwind 資料庫的讀取權限。

  4. 使用 Visual Studio 開啟專案檔 SsoSample.csproj。

  5. 在 [建置] 功能表上,按一下 [建置方案]。

    注意

    此時可能會要求您先儲存方案檔,才能繼續建置。

    如果您找不到專案的下列 BizTalk 組件參照,請將它們刪除,再從指示的位置重新加入,並且再次建置:

    • Microsoft.BizTalk.ExplorerOM。 根據預設,Microsoft.BizTalk.ExplorerOM.dll 檔案位於 \Program Files 資料夾 \Program Files (x86) \Microsoft BizTalk Server < VERSION > Developer Tools\。

    • Microsoft.BizTalk.SSOClient.Interop。 根據預設,Microsoft.BizTalk.Interop.SSOClient.dll 檔案位於ProgramFiles> \Common Files\Enterprise 單一登入\資料夾中 < 。

      這樣做會在下列資料夾中產生可執行檔 SsoSample.exe:

      < 範例路徑>\SSO\HTTPSSO\bin\Debug\

執行此範例

注意

如果您在 IIS 6.0 上以「背景工作處理序隔離模式」執行此範例,系統會為這兩個虛擬目錄建立應用程式集區。 您必須在 Windows 帳戶中手動設定這兩個應用程式集區的識別 (您可以在 Internet Information Services Manager 中設定識別)。

執行 HTTPSSO 範例

  1. 執行可執行檔 SsoSample.exe,該檔案位於下列資料夾中:

    < 範例路徑>\SSO\HTTPSSO\bin\Debug\

    此範例的精靈應用程式隨即開啟。

  2. 在 [歡迎使用] 頁面上,接受設定 IIS、SSO 和 BizTalk 的預設設定,然後按 [ 下一步]。

  3. 在 [IIS 組態] 頁面上,接受您要建立的兩個 IIS 虛擬目錄的預設設定,然後按 [ 下一步]。

  4. 在 [SSO 組態] 頁面上,接受聯盟應用程式的預設設定,可使用 [ 新增應用程式 ] 按鈕進行存取。

  5. 在 [SSO 組態] 頁面上,接受使用者對應的大部分預設設定,可使用 [ 新增對應 ] 按鈕進行存取。 根據建置和啟始此範例時新增的本機 Windows 帳戶,為下面兩個設定提供值。

    設定
    外部使用者名稱 設定為新增的本機 Windows 使用者帳戶名稱。
    外部使用者密碼 設定為新增的本機 Windows 使用者帳戶密碼。
  6. 在 [SSO 組態] 頁面上,按 [下一步]。

  7. 在 [BizTalk 組態] 頁面上,接受傳送和接收埠的預設設定等等,然後按 [ 下一步]。

    注意

    如果您想要查看簡單的使用者驗證,而不是從 Northwinds SQL 資料庫的 Employee 資料表提取的範例資料,您可以將預設的傳送埠設定從 EmployeeData.aspx 變更為 ValidateUser.aspx 。 進行這項變更會變更在步驟 9 中按一下 [ 完成 ] 之後,在瀏覽器中顯示的輸出本質。

  8. 查閱對應至所執行 IIS、SSO 和 BizTalk 組態的狀態訊息。 您可以在 SsoSample.cs 檔案中定義的IisConfigurator、SsoConfiguratorBtsConfigurator類別中找到在這個階段期間執行的程式碼。 設定完成後,按 [下一步]。

  9. 在精靈應用程式的最後一個頁面上,接受 [ 開始瀏覽器 ] 的預設設定, (選取的核取方塊和 URL http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>) 的文字方塊,然後按一下 [ 完成]。

    Internet Explorer 的執行個體將會開啟,並且很快地顯示您新增至 Northwinds SQL 資料庫的 [員工] 資料表中的範例員工資料。

    基於比較的目的,您可以略過 BizTalk 和 SSO,並直接瀏覽至任一個 ASPX 檔:

    • http://localhost/SsoSampleServerApplication/ValidateUser.aspx

    • http://localhost/SsoSampleServerApplication/EmployeeData.aspx

    在這兩個案例中,由於您略過 BizTalk 和 SSO,因此會提示您提供 IIS 的驗證資訊 (使用您之前建立的本機 Windows 帳戶資訊)。

註解

SsoSample.exe 精靈應用程式會設定這兩個 IIS 虛擬目錄:

  • 第一個虛擬目錄設定為使用 Windows 整合式驗證,並且對應至 BizTalk HTTP 接收 ISAPI 延伸模組。 該目錄必須與位於下列資料夾中的 .dll 檔 BTSHTTPReceive.dll 相關:

    < 安裝路徑>\HttpReceive

  • 第二個虛擬目錄設定為使用基本驗證,並且會模擬接受使用者識別碼和密碼來驗證使用者的後端系統。 該目錄必須與位於下列資料夾中的任一個 ASPX 檔 ValidateUser.aspx 或 EmployeeData.aspx 相關:

    < 範例路徑>\SSO\HTTPSSO\Scripts

    您可以使用 SsoSample.exe 精靈應用程式設定一或多個分支機構應用程式。 針對每個分支機構應用程式,可以建立一或多個使用者對應。 每個使用者對應都會將一個 Windows 使用者帳戶對應到您用來存取特定後端系統的帳戶。 在此範例中,該帳戶為您用來對模擬實際後端系統的第二個 IIS 虛擬資料夾驗證的本機 Windows 帳戶。

若要重新執行此範例,可從下列數個選項中選擇:

  • 直接瀏覽至 Internet Explorer 中的下列 URL:

    http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>

  • 再次執行精靈應用程式,但清除第一頁上的所有組態設定核取方塊。

  • 再次執行精靈應用程式,保留第一頁上選取的組態設定何取方塊,但謹慎且適當地設定其他 BizTalk 項目、分支機構應用程式等,以避免發生組態錯誤。

若要清除此範例,請使用下列程序。

清除此範例

  1. 採取適當的方式,反向您執行的手動組態設定,例如移除本機 Windows 帳戶。

  2. 移除對應至虛擬目錄的 IIS 應用程式,然後刪除此範例建立的 IIS 虛擬目錄。

  3. 使用 [BizTalk 管理] 主控台取消登錄,然後刪除與此範例關聯的傳送埠。 接著刪除與此範例相關的接收埠 (及其接收位置),

  4. 使用 Ssomanage 應用程式 (位於 \Program Files\Common Files\Enterprise Single Sign-On\) 刪除此範例的 SSO 應用程式:

    Ssomanage –deleteapp SsoSampleApplication  
    

另請參閱

SSO (BizTalk Server Samples 資料夾)