入口網站驗證 (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 帳號 設定需要一些特殊處理。
在客戶註冊中,Microsoft Dynamics 365 需要知道使用者的 PUID,讓它與使用者的 Microsoft Dynamics 365 連絡資訊連結。 換句話說,必須要求使用者使用 Microsoft 帳號 登入,然後將使用者傳送至註冊頁面。 這是透過在 LiveIdLoginStatus 控制項上新增 RegistrationUrl 屬性完成。
<crm:LiveIdLoginStatus runat="server" RegistrationUrl="/CreateUser" />
在註冊頁面的程式碼後置中,您需要新增程式碼,保留 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. 著作權所有,並保留一切權利。 著作權