Neste artigo, veremos como a plataforma sem código AppMaster.io resolve o problema de acesso a dados para usuários de aplicativos.

Isso acontece introduzindo funções como Usuários, Moderadores, Administradores e outros requisitos. Esta solução oferece mais flexibilidade dentro de seu aplicativo construído e controla o acesso a informações e funcionalidades dentro do aplicativo construído.

O artigo será útil para quem deseja mergulhar na funcionalidade da plataforma AppMaster.io e ver suas capacidades em termos de configurações de acesso a dados por funções.

Мodule Auth por AppMaster.io

O cadastro no aplicativo montado em nossa plataforma é representado pelo módulo Auth , permitindo criar e editar grupos de usuários e acessar seus direitos. O módulo Auth já está pré-instalado no projeto quando é criado.

Мodule Auth by AppMaster.io

Configurações do módulo de autenticação disponíveis:

Grupos de inscrição — lista de grupos de usuários que podem se registrar;

SignUp — inclui a possibilidade de se registrar no aplicativo;

Tempo limite da sessão (minutos ) — o tempo após o qual a sessão do usuário atual terminará se o usuário estiver ocioso (em minutos). O padrão é 60 minutos;

Atraso de login com falha (em ms) — tempo de atraso para uma resposta do servidor em caso de tentativa de login malsucedida (em ms). O padrão é 0 ms;

Confirmação de e-mail necessária — uma opção que envolve verificação por e-mail, se habilitada;

Usuário registrado ativo — define o atributo ativo como Verdadeiro para cada usuário registrado.

Grupos — permite criar e editar grupos de usuários.

AppMaster.io usa o Data Model Designer para trabalhar com modelos.

Usuário e Sessão de Usuário são dois modelos criados automaticamente no Data Model Designer. Os campos de modelo de dados pré-instalados não podem ser modificados ou excluídos, mas novos campos podem ser adicionados.

User and User Session

Para esses modelos, blocos de processos de negócios (BP) também são criados automaticamente.

BPs gerados automaticamente associados ao usuário e sessões de usuário

  • Modelo de usuário

DB: Delete User — exclui o objeto User do banco de dados via ID;

Delete User in AppMaster

DB: Update User — redefine todos os campos do bloco User-object passados para a entrada no banco de dados e os atualiza de acordo com os valores especificados (para alterar apenas os campos especificados, é utilizado o bloco DB: Patch User);

Update User

DB: Create User — armazena no banco de dados e retorna o objeto User fornecido (para construí-lo a partir dos campos fornecidos, use o bloco Make User);

Create User

DB: Soft Delete User — atualiza o atributo DeletedAt no objeto User e o deixa no banco de dados;

Soft Delete User

DB: Bulk Delete User — recebe como entrada um array de IDs (ids) de objetos User que serão excluídos do banco de dados;
failed_ids — uma matriz de IDs de usuário que não serão excluídas;

Bulk Delete User

DB: Patch User — atualiza os campos especificados do objeto User no banco de dados (para redefinir todos os campos, use o bloco DB: Update User);

Patch User

DB: Search User — localiza um ou mais objetos User no banco de dados com base em campos e os retorna;

Search User

DB: GetOne User — localiza o objeto User no banco de dados por seu ID e o retorna;

GetOne User

Expandir Usuário — retorna todos os campos do objeto Usuário selecionado;

Expand User

Make User — cria um novo objeto User na memória a partir dos campos fornecidos e o retorna (para salvar o objeto criado no banco de dados, use o bloco DB: Create User);

Make User

  • Modelo de sessão do usuário

DB: Delete User Session — remove o objeto User Session do banco de dados pelo ID passado;

Delete User Session

DB: Update User Session — redefine todos os campos do objeto User Session passados para o bloco de entrada no banco de dados e os atualiza de acordo com os valores especificados (para alterar apenas os campos especificados, use DB: Patch User Session);

Update User Session

DB: Create User Session — armazena no banco de dados e retorna o determinado objeto User Session (para construí-lo a partir dos campos fornecidos, use o bloco Make User Session);

Create User Session

DB: Soft Delete User Session — atualiza o atributo DeletedAt do objeto User Session e o deixa no banco de dados;

Soft Delete User Session

DB: Bulk Delete User Session — aceita como entrada um conjunto de IDs de objetos de User Session que serão excluídos do banco de dados;
failed_ids — o array define o conjunto de IDs que não serão removidos;

Bulk Delete User Session

DB: Patch User Session — atualiza os campos especificados do objeto User Session no banco de dados (para redefinir todos os campos, use o bloco DB: Update User Session);

Patch User Session

DB: Search User Session — localiza um ou mais objetos User Session no banco de dados com base em campos e os retorna;

Search User Session

DB: GetOne User Session — localiza o objeto User Session no banco de dados por seu ID e o retorna;

GetOne User Session

Expandir Sessão do Usuário — retorna todos os campos do objeto Sessão do Usuário selecionado;

Expand User Session

Make User Session — cria um novo objeto User Session na memória a partir dos campos fornecidos e o retorna (para salvar o objeto criado no banco de dados, use o bloco DB: Create User Session);

Make User Session

  • Módulo de autenticação

Auth: Gerar Auth Token — gera um token de autorização (Auth Token) de um determinado comprimento;

Generate Auth Token

Auth: Registration — registra um novo usuário;

Auth: Registration

Auth: Authorization — verifica se o Auth Token existe no sistema e retorna o usuário associado a ele;

Auth: Authorization

Auth: Autenticação — verifica o login e a senha do usuário e retorna um token de autenticação;

Auth: Authentification

Auth: Logout — aceita um token de autenticação e encerra a sessão do usuário atual;

Auth: Logout

Auth: Obter usuário atual — retorna os dados do usuário atual;

Auth: Get current user

Auth: Remover usuário do grupo — remove um usuário do grupo especificado pelo seu ID (definido nas configurações do módulo Auth);

Auth: Remove user from group

Auth: Adicionar usuário ao grupo — adiciona um usuário ao grupo de usuários especificado por seu ID (definido nas configurações do módulo Auth);

Auth: Add user to the group

Auth: Hash Password — convertendo uma string de senha em um hash;

Auth: Hash Password

Auth: Restore Password — aceita o nome de usuário e a nova senha do usuário, redefinindo-o;

Auth: Restore Password

Auth: Change Password — substitui a senha do usuário atual por uma nova;

Auth: Change Password

Auth: Probe Password — verificação de senha e correspondência de hash;

Auth: Probe Password

Os Endpoints do Auth Module e os modelos User e User Session são gerados automaticamente quando o projeto é criado.

Módulo de autenticação

Tipo de solicitação Ponto final PA conectado
post type /sair/ Autenticação: Sair
post type /auth/ Autenticação: autenticação
post type /registro/ Autenticação: registro
get type /confirme/ Autenticação: registro
put type /usuário/alterar senha Autenticação: alterar senha
post type /user/restore-password/ Autenticação: restaurar senha
get type /perfil de usuário/ Autenticação: autorização

Do utilizador

Tipo de solicitação Ponto final PA conectado
put type /ID do usuário/ DB: Atualizar usuário
delete type /ID do usuário/ DB: Excluir usuário
get type /ID do usuário/ DB: Usuário GetOne
get type /do utilizador/ DB: usuário de pesquisa
patch type /ID do usuário DB: usuário do patch
post type /do utilizador/ DB: Criar usuário

Sessão do usuário

Tipo de solicitação Ponto final PA conectado
delete type /user-session/:id/ DB: Excluir sessão do usuário
get type /user-session/:id/ DB: Sessão de Usuário GetOne
get type AppMaster /sessão de usuário/ DB: Pesquisar sessão do usuário
patch type AppMaster /user-session/:id/ DB: Sessão do usuário do patch
post type AppMaster /sessão de usuário/ DB: Criar sessão de usuário
put type AppMaster /user-session/:id/ DB: Atualizar Sessão do Usuário

O token de autenticação é usado como o token de sessão atual do usuário autorizado. Na aplicação web BP, é possível interagir com este token:

  1. Obter token de autenticação retorna a autenticação da sessão de usuário autenticada atual;
    Get Auth Token returns the Auth of the current authenticated user session
  2. Set Auth Token substitui o Auth Token da sessão atual do usuário autorizado;
    Set Auth Token
  3. Remove Auth Token exclui Auth Token da sessão atual do usuário autorizado;
    Remove Auth Token

O exemplo mostra como obter o usuário atual.

Para fazer isso, vá para a guia Business logic e arraste o bloco Auth: Get current user.

Em seguida, é criado um Endpoint para o BP criado, que será usado para entrar em contato com o servidor para obter o objeto do usuário atual.

Selecione o grupo de usuários na seção Endpoints e crie um método de solicitação GET para o processo recém-criado para obter o usuário atual.

No BP do aplicativo da web, faça uma solicitação ao endpoint criado (solicitação do servidor GET /user_current) para obter o usuário atual.

Grupos e Permissões

Os grupos de usuários são criados nas configurações do módulo Auth. Para ir para as configurações do módulo, você precisa abrir a seção Módulos e clicar no cartão do módulo correspondente.

A guia Grupos contém uma lista de todos os grupos existentes. Clique em Adicionar um novo elemento para criar um novo grupo de usuários. Na nova janela modal, você pode personalizar o grupo, adicionar uma descrição, ícone, cor do ícone e do rótulo e tag.

pMaster" data-mce-src="https://ws.apms.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">

Para editar grupos de usuários existentes, você também precisa acessar as configurações do módulo Auth. Para isso, vá para a seção Módulos e clique no cartão do módulo correspondente. Em seguida, na guia Grupos, uma lista de grupos estará disponível, para editá-la você precisa clicar no ícone de configurações. Na nova janela modal, você pode personalizar o grupo, alterar sua descrição, ícone, cor do ícone e do rótulo e tag.

Editing existing user groups

Para alterar os direitos de leitura/escrita de entradas no banco de dados para determinados grupos de usuários, é utilizado o Middleware do módulo Auth.

Na seção Endpoints, selecione o Endpoint cujas permissões de leitura/gravação você deseja alterar. Clique no botão de configurações no Endpoint desejado e vá para a aba Middleware na janela modal que se abre. Em seguida, clicando em Edit settings na linha com Token Auth Middleware, configure os direitos de acesso.

Access to pages in the web application

Acesso a páginas no aplicativo da web: Você precisa acessar o aplicativo da web e clicar no botão Configurações da página à qual deseja restringir o acesso.

No campo Mostrar para grupos, você deve selecionar uma lista de grupos de usuários que terão permissão para visualizar esta página. Por padrão, o campo está vazio e o acesso é permitido a todas as categorias de usuários.

Access to pages in the web application 2

Conclusão

O acesso aos dados por funções é uma maneira conveniente de organizar os fluxos de informações para grupos específicos de usuários. Com a plataforma sem código AppMaster.io , você pode testar esse recurso em uma avaliação.

Se você está impressionado com a funcionalidade, adquira nosso plano Professional, que inclui esse recurso, também exportação de arquivos binários, backups regulares, transferências de projetos e muito mais. Estamos esperando por você na plataforma AppMaster.io para implementar até mesmo seus projetos mais ousados.