Use o controle de login comum das ferramentas XRM nos seus aplicativos cliente

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

O SDK do Microsoft Dynamics 365 oferece um modelo para o Microsoft Visual Studio que permite usar o controle de logon comum nos aplicativos cliente. O código para autenticação do Dynamics 365, armazenamento e recuperação de credenciais e log de diagnóstico é incluído no modelo de modo que você possa criar rapidamente esses recursos nos aplicativos cliente do Windows para o Dynamics 365. O controle de logon comum é uma implementação do Microsoft.Xrm.Tooling.CrmConnectControl e o controle parece com a imagem a seguir.

Controle de login comum de ferramenta XRM

Neste tópico

Pré-requisitos

Crie um aplicativo WPF usando o modelo de controle de logon comum

Adicione um modelo de controle de logon comum ao seu aplicativo WPF existente

Pré-requisitos

  • .NET Framework 4.5.2

  • Microsoft Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Gerenciador de Pacotes NuGet para o Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Conectado à Internet para poder fazer o download/restaurar os pacotes NuGet necessários enquanto usa o modelo do projeto.

  • Modelos SDK do Microsoft Dynamics 365 para Visual Studio que contêm o modelo de controle de logon comum. É possível obter um com as seguintes opções:

    • Faça o download do modelo SDK de CRM da galeria Visual Studio e clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.

    • Faça o download e extraia o pacote do SDK do Dynamics 365. O arquivo de modelos CRMSDKTemplates.vsix está localizado na pasta SDK\Templates. Clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.

Crie um aplicativo WPF usando o modelo de controle de logon comum

Há uma maneira rápida de criar um aplicativo do Windows Presentation Foundation (WPF) que aproveita o controle de logon comum e o código subjacente para autenticação, armazenamento e reutilização de credencial e o rastreamento ou registro em log padrão.

  1. Inicie o Microsoft Visual Studio e crie um novo projeto.

  2. Na caixa de diálogo Novo projeto:

    1. Na lista de modelos instalados, expanda Visual C# e selecione Modelos do SDK do Dynamics 365.

    2. Verifique se o .NET Framework 4.5.2 está selecionado.

    3. Selecione Aplicativo WPF para Dynamics 365.

    4. Especifique o nome e o local do projeto e clique em OK.

    Aplicativo WPF para o modelo CRM

  3. Para testar o projeto:

    1. Salve o projeto e pressione F5 ou clique em Depurar > Iniciar Depuração para verificar se o projeto é compilado com êxito. Na compilação bem-sucedida, você verá um MainWindow com o botão Logon no Dynamics 365. Clique no botão para exibir o controle de logon comum.

    2. Teste a autenticação incluindo suas credenciais para entrar no Dynamics 365 e clique em Logon. Uma mensagem exibe o status de conexão do Dynamics 365.

Por exemplo, o usar o modelo de controle de logon comum para se conectar ao Dynamics 365 e executar diversas operações, consulte Exemplo: Início rápido para API de ferramentas XRM.

Adicione um modelo de controle de logon comum ao seu aplicativo WPF existente

Se você já tiver um aplicativo cliente WPF, é fácil adicionar o modelo de controle de logon comum para ele para criar a experiência de logon uniforme e o código subjacente para autenticação do Dynamics 365, armazenamento e reutilização de credenciais e rastreamento ou registro em log padrão. Nesse caso, você deve criar um controle na interface do usuário do aplicativo cliente existente para chamar o controle de logon comum, instanciar uma instância do objeto de conexão do Dynamics 365 e usar o objeto de conexão para executar diversas operações no Dynamics 365.

  1. Abra um projeto de aplicativo WPF existente no Visual Studio. Para este exemplo, suponha que o nome do projeto de aplicativo de WPF é SampleWPFApp.

  2. Adicione um modelo de controle de logon comum ao seu projeto.

    1. No painel Solution Explorer, clique com o botão direito no nome do projeto e clique em Adicionar > Novo Item.

    2. Na caixa de diálogo Adicionar Novo Item, na lista de modelos instalados, expanda Visual C# e selecione Modelos de SDK do Dynamics 365. Clique em Formulário de Logon do Dynamics 365 para Aplicativos WPF e clique em OK.

      Adicionar o modelo do controle de logon comum

  3. O controle de logon do CrmLoginForm1.xaml recém-adicionado é exibido na área de designer XML. Se ele não for exibido, clique duas vezes no arquivo CrmLoginForm1.xaml no painel Solution Explorer.

    Verificar se o controle de logon renderiza corretamente

  4. Agora você deve chamar o controle de logon recém-adicionado do aplicativo. Para fazer isso, adicione um controle Botão no seu arquivo MainWindow.xaml e defina o nome e o conteúdo para btnSignIn e Entrar no Dynamics 365 respectivamente.

    Adicionar um controle para iniciar o formulário de login

  5. Clique duas vezes no botão para adicionar código para o evento de clique do botão btnSignIn no arquivo MainWindow.xaml.cs.

  6. Adicione o seguinte código de exemplo do evento de clique do botão btnSignIn para chamar o controle CrmLoginForm1 e criar uma instância do objeto de conexão Dynamics 365.

    // Establish the Login control.
    CRMLoginForm1 ctrl = new CRMLoginForm1();
    
    // Wire event to login response. 
    ctrl.ConnectionToCrmCompleted += ctrl_ConnectionToCrmCompleted;
    
    // Show the login control. 
    ctrl.ShowDialog();
    
    // Handle the returned CRM connection object.
    // On successful connection, display the CRM version and connected org name 
    if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
    {
        MessageBox.Show("Connected to CRM! Version: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgVersion.ToString() + 
        " Org: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgUniqueName, "Connection Status");
    
        // Perform your actions here
    }
    else
    {
        MessageBox.Show("Cannot connect; try again!", "Connection Status");
    }
    
  7. Para adicionar a definição de evento ctrl_ConnectionToCrmCompleted abaixo, clique no evento do botão:

    private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
    {
        if (sender is CRMLoginForm1)
        {
            this.Dispatcher.Invoke(() =>
            {
                ((CRMLoginForm1)sender).Close();
            });
        }
    }
    
  8. É assim que seu arquivo MainWindow.xaml.cs é exibido após adicionar código das duas etapas anteriores:

    Código de exemplo

  9. Para testar o projeto:

    1. Salve o projeto e pressione F5 ou clique em Depurar > Iniciar Depuração para verificar se o projeto é compilado com êxito. Na compilação bem-sucedida, você verá um MainWindow com o novo botão Logon no Dynamics 365. Clique para exibir o controle de logon comum.

    2. Teste a autenticação incluindo suas credenciais para entrar no Dynamics 365 e clique em Logon. Se bem-sucedida, será exibida uma mensagem indicando a versão e o nome da organização às quais você está conectado. Clique em OK para fechar a mensagem.

      Resultados do texto do projeto

    3. Se você clicar em Entrar no Dynamics 365 novamente, o aplicativo solicita que você escolha as credenciais salvas da última atividade de entrada ou reinsira as novas credenciais.

      Credenciais armazenadas

Confira Também

Exemplo: Início rápido para API de ferramentas XRM
Criar aplicativos cliente do Windows usando as ferramentas XRM

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais