Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Um sistema com múltiplas aplicações é um sistema onde vários projetos utilizam o mesmo banco de dados e compartilham informações. Como, por exemplo, ao cadastrar um usuário na aplicação A e definir que ele terá acesso as aplicações A e B, esse usuário passa a ter acesso a diferentes aplicações com um único cadastro.
Image RemovedImage Added
Figura 1 - Esquema de três aplicações que utilizam o mesmo bancoa mesma base de dados
Estrutura de classes
Na figura abaixo são exibidas as classes usadas para integrar múltiplas aplicações.
Image Removed
Figura 2 - Diagrama de classes
O modelo de dados das permissões de segurança consiste dos seguintes tipos de entidade (Figura 2):
Nome da Entidade
Descrição
Representa um objeto do tipo View ao qual você quer aplicar controle de acesso através dos métodos de requisição HTTP.
Relacionamentos entre entidades
Os tipos de entidade são relacionados entre si das seguintes formas:
- Cada
Application
pode ter múltiplosRole
associados. - Cada
Application
pode ter múltiplosSecurable
associados. - Cada
Application
pode ter múltiplosView
associados. - Cada
Application
pode ter múltiplosUser
associados, e cadaUser
pode estar associado a múltiplosApplication
. Esse relacionamento muitos-para-muitos é representado pela entidadeApplicationUser
.
Tabelas
Abaixo são detalhados todos os campos das tabelas usadas pelo sistema Multi Applicações.
Application
Aplicação.
Coluna do Banco
Tipo
Função
Role
Grupo ou Função.
Coluna do Banco
Tipo
Função
A arquitetura das múltiplas aplicações (Figura 2) está diretamente relacionado às Permissões de Segurança do Cronapp, acesse a sua documentação para mais detalhes.
Image Added
Figura 2 - Diagrama de classes
Securable
Permissionável.
Coluna do Banco
Tipo
Função
View
Aplica o controle de acesso aos métodos de requisição HTTP.
Coluna do Banco
Tipo
Função
Application User
Tabela de relacionamento entre Aplicação e Usuários.
Coluna do Banco
Tipo
Função
Configuração
Banco de dados
O banco de desenvolvimento configurado por padrão não persiste os dados. Por dados configurado nos projetos modelos não persistem os dados, por isso, é necessário cadastrar outrobanco de dados de qualquer Fabricante, exceto H2. No menu do sistema vá até Projeto, selecione Banco Clique no botão de atalho do Banco de Dados (destaque 1 da Figura 3), depois clique em Novo (2) e preencha os campos com as informações do seu banco. Utilize a documentação Banco de dados para qualquer dúvida. Após criá-lo, o banco de dados ficará disponível na lista (destaque em amarelo3).
Aviso | ||
---|---|---|
| ||
Após cadastrar o banco no projeto A1, é indispensável utilizá-lo nos outros projetos para ocorrer a integração entre eles. |
Image RemovedImage Added
Figura 3 - Criando banco de dados
Diagrama
Após criar o banco de dados, abra Abra o Diagrama de dados (app), selecione o banco no vinculado ao diagrama (destaque 1 da Figura 4.1) e gere a camada de persistência (2). Escolha a opção "Utilizar tabelas existentes" (3), caso contrário, os dados do banco, que estão sendo usados nos outros projetos serão excluídos. Caso queria converter tabelas de um banco de dados externo, utilize a opção de Engenharia Reversa, podem ser excluídos. Também é possível obter as classes a partir da Engenharia reversa do banco de dados cadastrado.
Repita esse procedimento em todos os projetos.
Image RemovedImage Added
Figura 4 .1 - Gerando camada de persistência no novo banco de dados
Nota | ||
---|---|---|
| ||
O Para que a integração seja possível, o diagrama de dados de todos os projetos deve conter as mesmas classes que serão compartilhadas com os mesmo atributos para que a integração seja possível.. |
Âncora | ||||
---|---|---|---|---|
|
Em seguida, selecione a o menu de contexto da classe Application, clique no botão direito sobre a classe e selecione a opção e clique em Criar visão para entidade (destaque 1 da Figura 4.2). Na 1), ao abrir a janela Assistente de View pra Entidade, escolha o modelo de formulário Formulário CRUD Web (2) e depois selecione no campo Formulário de Referência a pasta admin (2 (3), selecione o diretório Administrativo (Localização: Formulário/Web/Administrativo/
Tooltip | ||||
---|---|---|---|---|
| ||||
Endereço: |
). Por fim, clique em Avançar e depois em Finalizar.
Repita esse procedimento em todos os projetos. Âncora
Image Removed
Image Added
Figura 4.2 1 - Criando CRUD do permissionáveldas aplicações
Essa pagina página possibilitará consultar as aplicações que estão integradas, ou seja, que estão utilizando o sistema de múltiplas aplicações.
RecomendaçãoDica |
---|
Se for necessário criar permissionáveis ou grupos específicos para uma aplicação, isso deve ser |
feito |
. |
Aplicação
Execute todos os projetos que deseja vincular. Após rodar o projeto A, basta executar a segunda aplicação pela primeira vez que os dados são serão atualizados automaticamente no banco de dados, através do conteúdo contido no populate.json (visível apenas no Modo Avançado).
Vincular usuários
Abra uma a aplicação A e vá até a página de Usuários. Adicione um novo usuário e, no campo Aplicações, associe as aplicações A e B (Figura 5.1) e salve.
Ao escolher as aplicações, o usuário também aparecerá na grade de Usuários das aplicações informadas. Se nenhuma aplicação for informada, o usuário terá acesso apenas na origem.
Image AddedImage Removed
Figura 5 .1 - Vinculando usuáriosaplicações na tela de edição do usuário na aplicação A
Efetuar login
Abra a aplicação B e, na tela de Login (Figura 5.21), acesse com os dados do usuário cadastrado na primeira aplicação A.
Image RemovedImage Added
Figura 5.2 1 - Efetuando login com na aplicação B utilizando o sistema multi aplicações
Nesta página
Índice |
---|