入口網站驗證 (Dynamics CRM 2015)

 

發行︰ 2016年11月

適用於: Dynamics CRM 2015

Microsoft 帳號 允許使用者在您的網站上驗證,而不必建立自己的安全性提供者。 此主題顯示如何使用 Microsoft Dynamics CRM 2015 開發人員擴充功能和入口網站工具套件,使用 Microsoft 帳號 驗證與您的網站。

本主題內容

使用 Microsoft 帳戶註冊您的網站

新增 LiveIdLoginStatus 控制項

新增成員資格提供者以及處理常式服務

強制註冊

使用 Microsoft 帳戶註冊您的網站

首先,必須使用 Microsoft 帳號註冊您的網站:

https://account.live.com/developers/applications

當註冊網站時,您需要提供完整網域名稱,例如,「yoursite.yourdomain.com」,而不只是「yourdomain.com」。

您也必須提供完成登入時 Microsoft 帳號 要求導向的目標 URL。 這將是您的處理常式服務,可在本文件後面閱讀相關資訊,但是,根據預設,輸入的 URL 是:

http://yoursite.yourdomain.com/liveid.axd. 

在您註冊網站之後,它提供應用程式識別碼與秘密,可用來外掛至 web.config,讓網站可與 Microsoft 帳號 連結。

以下一些注意事項:

您的網域名稱不可以包含例如 localhost、127.0.0.1 或使用「live」一字的字串。

您無法與其他使用者共用網站管理。

在您註冊之後,您無法變更網域名稱。

新增 LiveIdLoginStatus 控制項

最後一個步驟是新增 LiveIdLoginStatus 控制項,如同 LoginStatus 控制項一樣運作。 它顯示登入連結給未驗證使用者,以及登出連結給已驗證的使用者。

當匿名,連結可讓使用者前往 Windows Live 或選擇性 (使用 Loginhref) 前往特定的登陸頁面,告訴使用者,他們正要移至 Windows Live。

已驗證時,登出連結重設目前使用者的身分成為匿名使用者。

<crm:LiveIdLoginStatus runat="server" /> 

此假設,「crm」標記首碼已註冊到「Microsoft.Xrm.Portal.Web.UI.WebControls」。

新增成員資格提供者以及處理常式服務

成員資格提供者處理使用者登入資訊。 使用 Microsoft 帳號 需要使用 Microsoft 帳號 成員資格提供者:

<membership defaultProvider="CrmMembershipProvider">
    <providers>
        <add name="CrmMembershipProvider" type="Microsoft.Xrm.Portal.Web.Security.LiveIdMembershipProvider, Microsoft.Xrm.Portal" liveIdConnectionStringName="Live"/>
    </providers>
</membership>

處理常式服務驗證已驗證的使用者是否已經在您的網站上註冊。 如果您執行整合模式的 Internet Information Services (IIS) 7 網站,您需要確認下列新增至 <handlers> 區段:

<add name="LiveId" verb="*" path="LiveID.axd" preCondition="integratedMode" type="Microsoft.Xrm.Portal.Web.Handlers.LiveIdWebAuthenticationHandler, Microsoft.Xrm.Portal" />

如果在傳統管線模式下或 IIS6 執行,處理常式服務設定在您的 Web.config 檔案的 <httpHandlers> 區段下。

<add verb="*" path="LiveID.axd" type="Microsoft.Xrm.Portal.Web.Handlers.LiveIdWebAuthenticationHandler, Microsoft.Xrm.Portal"/>

強制註冊

使用 Microsoft 帳號 進行驗證時,只有 Passport 唯一識別碼 (PUID) 是已知。 如果要包含使用者的其他資訊 (例如顯示名稱或電子郵件地址),您必須從使用者收集此資訊。 執行這項動作的兩種常見方式是:

  • 設定網頁,讓他們在登入時,可以方便填入其資訊。

  • 在您的網站上驗證之前,收集資訊。

若要執行第二個方式,您的 Microsoft 帳號 設定需要一些特殊處理。

  1. 在客戶註冊中,Microsoft Dynamics 365 需要知道使用者的 PUID,讓它與使用者的 Microsoft Dynamics 365 連絡資訊連結。 換句話說,必須要求使用者使用 Microsoft 帳號 登入,然後將使用者傳送至註冊頁面。 這是透過在 LiveIdLoginStatus 控制項上新增 RegistrationUrl 屬性完成。

    <crm:LiveIdLoginStatus runat="server" RegistrationUrl="/CreateUser" /> 
    
  2. 在註冊頁面的程式碼後置中,您需要新增程式碼,保留 Microsoft 帳號 權杖以及當您收集想要的資訊後建立新使用者。

    protected void Page_Load(object sender, EventArgs e)
    {
      if (InvitationCode == null || InvitedContact == null)
      {
        var page = SiteContext.Current.Website.GetPageBySiteMarkerName("Home");
        Response.Redirect(page.GetUrl());
      }
    
      // Add the Live ID variables that come from the authentication handler to hidden 
      // script variables.
      if (Request["live-id-action"] == "register")
      {
        Page.ClientScript.RegisterHiddenField("live-id-token", 
          Request["live-id- token"]);
        Page.ClientScript.RegisterHiddenField("live-id-action", 
          Request["live-id-action"]);
      }
    }
    

另請參閱

Microsoft Dynamics CRM 2015 入口網站開發人員指南
準備入口網站開發 (Dynamics CRM 2015)
ASP.NET Web 表單與資料繫結
管理入口網站內容 (Dynamics CRM 2015)
Dynamics CRM 2015 的入口網站逐步解說

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權