4D v16

Configuração da base de dados 4D

Página Inicial

 
4D v16
Configuração da base de dados 4D

Configuração da base de dados 4D    


 

 

Por razões de segurança e rendimento, o acesso as tabelas, dados e métodos da base 4D através de petições 4D Mobile (servidores de Wakanda) deve estar ativado e expressamente autorizado. Deve configurar três níveis de acesso:

  • início dos serviços 4D Mobile,
  • controle de acessos 4D Mobile (opcional mas recomendado)
  • a exposição de cada objeto da base (tabela, atributo ou método de projeto) aos serviços 4D Mobile deve ser ajustado individualmente de acordo a suas necessidades. Por padrão:
    • Todas as tabelas e todos os atributos são acessíveis em 4D Mobile,
    • Os métodos projeto não são acessíveis em 4D Mobile.

Por padrão, 4D Server v14 não responde as petições 4D Mobile. Você deve ativar o serviço 4D Mobile para que estas solicitações sejam processadas e assim pode utilizar o conector Wakanda/4D

Nota: os serviços 4D Mobile utilizam o servidor HTTP de 4D, pelo que deve ter certeza de que o servidor web 4D ou 4D Server esteja iniciando.

Para ativar os serviços 4D Mobile:

  1. Nas propriedades da base, vá a página Web/4D Mobile
  2. Marque a opção Ativar os serviços 4D Mobile:

    É mostrada a mensagem de advertência "Atenção, revise os privilégios de acesso" para chamar sua atenção sobre o fato de que quando os serviços 4D Mobile estejam ativos, por padrão o acesso aos objetos da base é livre, enquanto não tenha definido controle sobre o acesso 4D Mobile (ver abaixo).

O controle de acessos 4D Mobile lhe permite autorizar (ou não) a abertura de uma sessão do lado 4D através de uma petição Wakanda.

Como parte de um acesso 4D Mobile, os identificadores controlados são o nome e a senha enviados durante a petição de conexão realizada por:

A nível global, há duas maneiras de controlar os acessos 4D Mobile:

Estes dois modos de controle são exclusivos: caso se defina On 4D Mobile Authentication database method, o controle de acessos automáticos por senhas de 4D se desativa.

Advertência: se nenhum destes dois modos de controle estão ativos, os acessos a base de dados através de 4D Mobile sempre se aceitam (não recomendado).

Em 4D, pode especificar o grupo de usuários 4D que está autorizado para estabelecer o link ao servidor 4D da aplicação Wakanda

Para designar a conta de início de sessão:

  1. Nas Propriedades da base, mostre a página Web/4D Mobile.
  2. Selecione o grupo a utilizar no menu "Leitura/Escritura" da área de acesso:

    Por padrão, o menu mostra <Qualquer>, o que significa que os acessos 4D Mobile estão abertos a todos os usuários.

Uma vez que tenha especificado um grupo, só uma conta de usuário 4D que pertença a este grupo pode ser utilizado para acessar a 4D por meio de uma petição Wakanda, em particular, para abrir uma sessão no servidor 4D utilizando o método mergeOustideCatalog(). Se utilizada uma conta que não pertence a este grupo, 4D devolve um erro de autenticação ao remetente da solicitação.

Tenha em conta que para que esta configuração tenha efeito:

  • o sistema de senhas de 4D deve estar ativo (deve ser atribuída uma senha ao Designer),
  • On 4D Mobile Authentication database method não deve ter sido definido. Caso exista, 4D não leva em conta os valores de acesso definidos nas propriedades da base.

O On 4D Mobile Authentication database method permite controlar de forma personalizada a abertura das sessões 4D Mobile em 4D. Quando está definido, é chamado automaticamente por 4D ou 4D Server quando uma petição 4D Mobile é recebida pelo servidor HTTP.

Quando a solicitação de abertura de sessão 4D Mobile provém de Wakanda Server (caso geral), os identificadores de conexão estão no cabeçalho da solicitação. O método base On 4D Mobile Authentication é chamado para que possa avaliar estes identificadores. Pode utilizar a lista de usuários da base 4D ou pode utilizar sua própria tabela de usuários.

Para maior informação, consulte a descrição On 4D Mobile Authentication database method no manual de Linguagem 4D.

Uma vez que os serviços 4D Mobile estão habilitados na base 4D, por padrão uma sessão 4D Mobile pode acessar a todas as tabelas e campos da base de dados, e portanto utilizar seus dados. Por exemplo, se sua base contém uma tabela [Empregados], é possível escrever, do lado Wakanda Server:

var emp=ds.Employee.query("name == 'Martin'"); 
    //Devolve todos os empregados cujo nome seja 'Martin'

Nota: as tabelas e/ou os campos 4D que tem o atributo "Invisível" também são expostos em 4D Mobile por padrão.

O servidor Wakanda também pode acessar aos métodos projeto da base 4D. No entanto, por padrão, este acesso está desabilitado por razões de segurança.

Se deseja personalizar a lista de objetos da base acessíveis em 4D Mobile, deve:

  • desativar a exposição de cada tabela e/ou campo que deseje ocultar,
  • permitir a exposição de cada método projeto ao que queira dar acesso.

Quando uma petição 4D Mobile tenta acessar a um recurso não autorizado (tabela ou método de projeto), 4D devolve um erro.

Por padrão, todas as tabelas se expõem em 4D Mobile.

Por razões de segurança, é possível que deseje somente expor certas tabelas de sua base chamadas 4D Mobile. Por exemplo, foi criada uma tabela [Usuários] que guarda nomes de usuário e senhas, seria melhor não expor ela.

Para modificar a exposição 4D Mobile para uma tabela:

  1. Visualize o Inspetor da tabela no editor de estrutura e selecione a tabela a modificar
    Por padrão, a opção Expor com o serviço 4D Mobile está selecionada:
  2. Desative a opção Expor com o serviço 4D Mobile.
    Ou
    Marque a opção para expor uma tabela.
    Faça isto para cada tabela cuja exposição necessite modificar.

Por padrão, todos os campos estão expostos em 4D Mobile.

Pode que não queira expor certos campos das tabelas através de 4D Mobile. Por exemplo, pode que não deseje expor o campo [Empregados]Salário.

Para modificar a exposição 4D Mobile para um campo:

  1. Visualize o Inspetor do campo no editor de estrutura e selecione o campo a modificar.
    Por padrão, a opção Expor com o serviço 4D Mobile está marcada:
  2. Desmarque a opção Expor com o serviço 4D Mobile para o campo.
    Ou
    Marque a opção para expor um campo que não estava selecionado.
    Repita isto para cada campo cuja exposição necessite ser modificada.

Tenha em conta que para que um campo para seja acessível por 4D Mobile, sua tabela também deve ser. Se a tabela não está exposta, nenhum de seus campos o estará, sem importar seu estado. Devido a isto, você pode temporalmente ativar/desativar a exposição 4D Mobile para uma tabela, enquanto que os valores individuais da exposição para cada campo se mantém sem mudanças.

Por padrão, não há métodos projeto expostos em 4D Mobile.

É possível que deseje retornar certos métodos projeto de sua base 4D acessíveis mediante 4D Mobile. Para fazer isso, deve selecionar a opção correspondente e definir o contexto de execução Wakanda do método.

Nota: se um grupo de acesso se associa ao método 4D, deve ter certeza de que o grupo 4D Mobile é parte deste grupo.

Para definir a exposição 4D Mobile para um método projeto:

  1. Abra a caixa de diálogo "Propriedades do método".
    Nota: pode acessar a caixa de diálogo de propriedades do método utilizando o menu contextual na página "Métodos" do Explorador, ou desde o menu Método/Propriedades do método... no editor de métodos.
  2. Selecione a opção Disponível através de chamadas 4D Mobile:
  3. Defina o contexto de execução REST para o método projeto por meio dos menus Tabela e Alcance.

    Estes ajustes são necessários com o propósito de respeitar a lógica de Wakanda. Para obter mais informação sobre este ponto, consulte a seguinte seção.
  4. Faça clique em Aceitar para validar as mudanças.
    Os métodos projeto disponíveis através de 4D Mobile são listadas na seção "Métodos 4D Mobile" do Explorador 4D (ver o parágrafo “Explorador” mais adiante).

Quando declara um método projeto disponível através de petições 4D Mobile, deve declarar explicitamente seu contexto de chamada utilizando os parâmetros Tabela e Alcance:

  • Tabela: tabela a anexar ao método projeto. Este parâmetro não está relacionado diretamente a utilização dos dados da tabela, mas lhe permite designar o objeto classe de dados através do qual deseja acessar ao método que utiliza o código JavaScript.
    O menu mostra a lista de tabelas da base que se expõem em 4D Mobile. Se o método utiliza especificamente os dados de uma tabela, pode selecionar a tabela. Se o método não está relacionado a uma só tabela, pode utilizar qualquer tabela exposta. Ou, uma vez mais, se só deseja expor os métodos correspondentes com a lógica empresarial de sua aplicação 4D, pode criar e expor uma tabela dedicada, por exemplo [4D MobileInterface] e associar todos os métodos projeto expostos em 4D Mobile.
  • Alcance: rango de registros nos que o método se aplica. Esta declaração é necessária porque, do lado Wakanda, os métodos são propriedades de objetos JavaScript e só podem ser chamados através destes objetos.
    Cada método 4D que está exposto deve estar associado explicitamente ao contexto da base onde vai ser chamado: Tabela, Registro atual e Seleção atual.
    • Tabela: esta opção indica que o método 4D será executado utilizando todos os registros da tabela atribuída.
      Pelo lado de Wakanda, o método será chamado em um objeto do tipo classe de dados, por exemplo ds.MinhaTabela.MeuMétodo.
    • Registro atual: esta opção indica que o método 4D será executado utilizando o registro atual da tabela designada.
      Pelo lado de Wakanda, o método será chamado em um objeto de tipo Entidade, por exemplo ds.MinhaTabela.all().MeuMétodo.
    • Seleção atual: esta opção indica que o método 4D será executado utilizando a seleção atual de registros da tabela designada.
      Pelo lado de Wakanda, o método será chamado em um objeto do tipo Coleção de entidades, por exemplo ds.MinhaTabela.all().MeuMétodo.

Atenção: quando mudar a exposição ou o alcance de um método projeto do lado 4D, tem que voltar a carregar o modelo remoto do lado Wakanda para que estas mudanças sejam levadas em conta.

Quando os serviços 4D Mobile estão habilitados, as tabelas expostas em 4D Mobile e os métodos projeto adjuntos a elas se mostram na página "Métodos" do Explorador 4D na seção Métodos 4D Mobile:

 
 



Ver também 

Configuração da aplicação Wakanda

 
PROPRIEDADES 

Produto: 4D
Tema: Configuração da base de dados 4D

 
HISTÓRIA 

 
ARTICLE USAGE

4D Mobile ( 4D v16)