포털 인증(Dynamics CRM 2015)

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

Microsoft 계정에서는 사용자를 고유의 보안 공급자를 만들 필요 없이 웹 사이트에 인증할 수 있습니다. 이 항목에서는 Microsoft Dynamics CRM 2015용 개발자 확장과 포털 도구 키트를 사용하여 웹 사이트에서 Microsoft 계정 인증을 사용하는 방법을 보여 줍니다.

이 항목의 내용

Microsoft 계정을 사용하여 웹 사이트 등록

LiveIdLoginStatus 컨트롤 추가

구성원 자격 공급자 및 처리기 서비스 추가

강제 등록

Microsoft 계정을 사용하여 웹 사이트 등록

시작하려면 먼저 Microsoft 계정로 웹 사이트를 등록해야 합니다.

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

사이트를 등록할 때 yourdomain.com가 아니라 yoursite.yourdomain.com와 같이 전체 도메인 이름을 제공해야 합니다.

로그인을 완료할 때 Microsoft 계정 요청을 다시 지시하는 URL도 제공해야 합니다. 이 URL이 이 문서에서 나중에 읽을 처리기 서비스가 되지만 기본적으로 입력하는 URL은 다음과 같습니다.

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

웹 사이트를 등록한 후에 사이트를 Microsoft 계정에 연결할 수 있도록 web.config에 플러그 인하는 데 사용할 응용 프로그램 ID와 암호를 제공합니다.

주의해야 할 점은 다음과 같습니다.

도메인 이름에는 localhost, 127.0.0.1 또는 "live"라는 단어가 포함된 어떤 문자열도 포함할 수 없습니다.

웹 사이트 관리는 다른 사용자와 공유할 수 없습니다.

도메인 이름을 등록한 후에는 변경할 수 없습니다.

LiveIdLoginStatus 컨트롤 추가

마지막 단계는 LoginStatus 컨트롤처럼 작동하는 LiveIdLoginStatus 컨트롤을 추가하는 것입니다. 인증되지 않은 사용자의 경우 로그인 링크를 표시하고 인증된 사용자의 경우 로그아웃 링크를 표시합니다.

익명의 사용자의 경우 Windows Live로 이동하는 것을 사용자가 알 수 있도록 링크는 Windows Live 또는 필요에 따라(Loginhref 사용) 지정된 랜딩 페이지로 이동합니다.

인증되면 로그 아웃 링크는 현재 사용자의 ID를 익명의 사용자로 다시 설정합니다.

<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>

처리기 서비스는 인증된 사용자가 웹 사이트에 등록되었는지 여부를 확인합니다. 통합 모드에서 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 계정를 사용할 경우 PUID(Passport 공유 식별자)만 알려져 있습니다. 표시 이름이나 전자 메일과 같은 사용자에 대한 추가 정보를 원할 경우 사용자로부터 이러한 정보를 수집해야 합니다. 이를 수행하는 일반적인 두 가지 방법은 다음과 같습니다.

  • 로그인 할 때 편의를 위해 정보를 입력하는 페이지를 설정합니다.

  • 사이트에서 인증되려면 먼저 정보를 수집해야 합니다.

두 번째 방법은 Microsoft 계정 설치 시 몇 가지 특수 처리가 필요합니다.

  1. 사용자 등록의 일부로 Microsoft Dynamics 365은 사용자의 Microsoft Dynamics 365 연락처 정보에 연결할 수 있도록 사용자의 PUID를 알고 있어야 합니다. 즉, 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 웹 양식 및 데이터 바인딩
포털 콘텐츠 관리(Dynamics CRM 2015)
Dynamics CRM 2015용 포털 연습

© 2017 Microsoft. All rights reserved. 저작권 정보