本文件已封存並已停止維護。

程式碼範例:具有同盟登出功能的 ASP.NET MVC 4

發佈時間: 2013年2月

更新日期: 2015年6月

適用於: Azure

此範例說明如何整合 Microsoft Azure Active Directory 存取控制服務 (也稱為「存取控制服務」或 ACS) 與 ASP.NET MVC 4 應用程式。ACS 整合能為 ASP.NET MVC 4 應用程式中支援的身分識別提供者啟用單一登入和單一登出功能。

此範例的程式碼位於 Microsoft Azure Active Directory 存取控制 (ACS) 程式碼範例 (英文) 套件的 ASPNETSimpleMVC4 (C#\Websites\ASPNETSimpleMVC4) 子目錄中。

如需 ACS 中單一登出功能的詳細資訊,請參閱單一登出

若要執行此範例,您將需要:

如需詳細資訊,請參閱ACS 必要條件

您可以使用 ACS 管理入口網站或 ACS 管理服務來設定此範例。此主題將說明這兩種選項。

  • 選項 1:使用 ACS 管理入口網站

  • 選項 2:使用 ACS 管理服務

  1. 移至 Microsoft Azure 管理入口網站 (https://manage.WindowsAzure.com),登入後按一下 [Active Directory]。(疑難排解提示:"Active Directory" 項目遺失或無法使用)

  2. 若要建立存取控制命名空間,請依序按一下 [新增][應用程式服務][存取控制][快速建立]。(或是先按一下 [新增] 再按一下 [存取控制命名空間])。

  3. 若要管理存取控制命名空間,請選取該命名空間,然後按一下 [管理]。(或按一下 [存取控制命名空間]、選取 [命名空間],然後按一下 [管理])。

    ACS 管理入口網站隨即開啟。

  4. 若要讓應用程式的使用者以其 GoogleYahoo! 識別身分進行登入,請依序按一下 [身分識別提供者] 和 [新增],然後新增 GoogleYahoo!

    如需相關指示,請參閱Google 作為 ACS 身分識別提供者Yahoo! 作為 ACS 身分識別提供者。預設會新增 Windows Live ID (Microsoft 帳戶) 且無法予以刪除。

  5. 若要對 ACS 註冊您的應用程式,請按一下 [信賴憑證者應用程式],按一下 [新增],在表單中輸入下列資訊,然後按一下 [儲存]。

    • 在 [名稱] 欄位中,輸入 ASPNETMVC4Sample

    • 在 [領域] 欄位中,輸入 http://localhost:65000/

    • 在 [傳回 URL] 欄位���,輸入 http://localhost:65000/

    • 在 [錯誤 URL] 欄位中,輸入 http://localhost:65000/Error

    • 在 [權杖格式] 欄位中,選取 [SAML 2.0]。

    • 在 [權杖簽署] 欄位中,選取 [使用服務命名空間憑證 (標準)]。



    如需 [新增信賴憑證者應用程式] 頁面上的欄位和值的相關資訊,請參閱信賴憑證者應用程式

  6. 若要建立規則群組,以便將身分識別提供者發出的所有宣告傳送至信賴憑證者應用程式,請依序按一下 [規則群組]、[ACS Simple MVC4 範例的預設規則群組] 和 [產生],然後按一下 [儲存]。

    ACS 入口網站的 [規則群組] 區段建立的規則可決定 ACS 傳送至應用程式的宣告有哪些。選取所有產生的規則,以設定 ACS 將身分識別提供者發出的所有宣告傳送至信賴憑證者應用程式。

此範例現已設定完成並準備好可在 Visual Studio 2012 中執行。

Visual Studio 範例解決方案中有一個名為 ConfigureSample 的主控台應用程式,其使用 ACS 管理服務與 [一般] 類別庫中所定義的一般協助程式。您可以使用此應用程式來設定適用於此範例的 存取控制命名空間。

  1. 若要設定範例,請開啟 SamplesConfiguration.cs (acs\Management\ManagementService\Common)。將 [一般] 類別庫中的 SamplesConfiguration 類別中的預留位置取代為您的存取控制命名空間相關資訊。您可以在 ACS 管理入口網站中找到這些資訊。

    瀏覽至 ACS 管理入口網站:移至 Microsoft Azure 管理入口網站 (https://manage.WindowsAzure.com),登入後按一下 [Active Directory]。(疑難排解提示:"Active Directory" 項目遺失或無法使用) 若要管理存取控制命名空間,請選取該命名空間,然後按一下 [管理]。(或按一下 [存取控制命名空間]、選取 [命名空間],然後按一下 [管理])。

    • ServiceNamespace - 輸入存取控制命名空間的名稱。

    • ManagementServiceIdentityName - 輸入 ACS 管理服務帳戶的名稱。預設值是 ManagementClient

      若要尋找管理服務帳戶名稱,請在 ACS 管理入口網站中按一下 [管理服務]。[管理服務帳戶] 之下會依名稱列出帳戶。

    • ManagementServiceIdentityKey - 輸入管理服務帳戶的密碼。

      若要尋找管理服務帳戶密碼,請在 ACS 管理入口網站中按一下 [管理服務]。按一下管理服務帳戶的名稱,然後在 [認證] 下方按一下 [密碼]。密碼會出現在 [密碼] 欄位中。若要複製密碼,請按一下 [顯示密碼]。

  2. 在 Visual Studio 中執行 ConfigureSample 應用程式。應用程式使用 SamplesConfiguration.cs 中的資料來設定 ACS 執行範例。

  1. 在 Visual Studio 2012 中開啟範例的方案檔案 ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\)。

  2. 以滑鼠右鍵按一下專案,然後從內容功能表中選取 [識別和存取]。

  3. 選取 [使用 Azure 存取控制服務]。

  4. 按一下 [選取一或多個提供者] 旁邊的 [設定]。

  5. 輸入您的 存取控制命名空間 和管理服務帳戶密碼。

  6. 從清單中選取一或多個身分識別提供者。

    顯示的身分識別提供者是您在 ACS 入口網站或 ACS 管理服務中設定範例時新增的身分識別提供者。

    您的信賴憑證者應用程式現已設定成使用 ACS。

  7. 按 F5 執行應用程式。您的瀏覽器會被導向到 ACS 的 [主領域探索] 頁面。

  8. 按一下 [Google]。您的瀏覽器會被重新導向至 Google 登入頁面。

  9. 輸入 Google 帳戶的認證,並拒絕使用者同意表單。

您的瀏覽器將重新導向至 http://localhost:65000/。請注意,您的 Google 使用者名稱會出現在頁面的左上角。這表示您已登入信賴憑證者應用程式。若要登出信賴憑證者應用程式,請按一下 [登出] 連結。請注意,您不再是已驗證狀態。

另請參閱

顯示: