Os ataque às aplicações web estão sempre evoluindo. Com o dado sendo uma moeda tão valiosa, é de extrema importância manter a segurança de um sistema atualizada para evitar perdas. O novo módulo de segurança, além de ser extremamente flexível e intuitivo, implementa diversos recursos e boas práticas de segurança, tornando o sistema muito mais sólido contra esses ataques.

Neste artigo, vamos aprender como podemos migrar do módulo de segurança antigo para o novo, aproveitando todos esses benefícios.

## O que é preciso?

Antes de conseguirmos realizar a migração, é necessário preparar o módulo antigo para receber as atualizações pois, como dito anteriormente, o novo módulo implementa diversas melhorias e recursos que não existiam no antigo. Para isso, será necessário alterar a tabela “sec\_users” criada pelo módulo.

![Notes](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png/)

Por padrão, as aplicações criadas pelo módulo de segurança contém o prefixo “sec\_” e estão localizadas no diretório “Security” do projeto.

## Alterando a tabela sec\_users

![Warning](https://static.zohocdn.com/zoho-desk-editor/static/images/caution.png/)

O Database builder não está disponível para todos os SGBDs. É possível realizar as mesmas alterações utilizando qualquer ferramenta que permita gerenciar banco de dados — como o Dbeaver, por exemplo.

1. Acesse o database builder em Database → Database builder:

> ![](https://help.scriptcase.net/galleryDocuments/edbsnd2559cf7663e60b022aa726c0c3cc6867f552fd023d67c7fa86db739791ede91af70b2cfd98c9038b353179c010fa45c?inline=true)

2. Procure pela opção “Comando SQL”:

> ![](https://help.scriptcase.net/galleryDocuments/edbsn27165ed8e5e10b98d0f16b656b93ae272f4c4f4a098818e26ff59b5ad0a6a58696200f55da47ba6d2855c68dbd01e84c?inline=true)

3. Realize o comando SQL Alter table para adicionar os campos “role”, “phone”, “pswd\_last\_updated” e “mfa\_last\_updated” à tabela sec\_users:

> ![Alert](https://static.zohocdn.com/zoho-desk-editor/static/images/exclamation.png/)
>
> Note que “role” e “phone” serão campos do tipo TEXT, enquanto “pswd\_last\_updated” e “mfa\_last\_updated” serão do tipo TIMESTAMP. É preciso selecionar o tipo correspondente de acordo com seu SGBD — como Varchar e TIMESTAMP para MySQL, por exemplo.

1. ALTER TABLE sec\_users ADD COLUMN phone TEXT NULL DEFAULT NULL;
2. ALTER TABLE sec\_users ADD COLUMN role TEXT NULL DEFAULT NULL;
3. ALTER TABLE sec\_users ADD COLUMN pswd\_last\_updated TIMESTAMP NULL DEFAULT NULL;
4. ALTER TABLE sec\_users ADD COLUMN mfa\_last\_updated TIMESTAMP NULL DEFAULT NULL;

> > ![](https://help.scriptcase.net/galleryDocuments/edbsn587f55df22934f0616873108d2071895bcadbdc82a04d036ea227dfaf6140ab63f103784417a5235f32824c3c6e91701?inline=true)

## Migrando para o novo módulo de segurança

Tendo realizado a alteração na tabela sec\_users mostrada anteriormente, já é possível migrar para o novo módulo de segurança:

1. Acesse Módulos → Segurança

> ![](https://help.scriptcase.net/galleryDocuments/edbsne65ed08f91ae15eee711d52a3d38717e249ca8647f2b56266b7b873bed53495048b9de7df9ab25be9e5230b0b817608e?inline=true)

2. Clique em “Criar Módulo de Segurança”:

> ![](https://help.scriptcase.net/galleryDocuments/edbsn95d4956d9a458c4ed92716a5d6e397b14e29cf4889169bc715846d3a80be88e2ae03ab748b1290eedf40359a9b27f0a6?inline=true)

3. Selecione o tipo de segurança que será utilizada:

> ![Alert](https://static.zohocdn.com/zoho-desk-editor/static/images/exclamation.png/)
>
> É importante que o tipo de segurança do novo módulo seja igual ao do antigo.

> ![](https://help.scriptcase.net/galleryDocuments/edbsn95d4956d9a458c4ed92716a5d6e397b1ed4b9512ef05878933e7696d003072ce21de7ff57e986b1c0e667613586772ae?inline=true)

4. Selecione a conexão que possui as tabelas do módulo antigo e marque a opção “Usar tabelas existentes”

> ![](https://help.scriptcase.net/galleryDocuments/edbsn2e3ba30f9a5c3ea090097b9acc219b6a26a976a3c4a5900452fd26e847543f6d0eb61835954033e5941e5af1dc4391b9?inline=true)

5. Clique no botão recarregar “↻” para que o Scriptcase possa ver as alterações na tabela e clique em “Prosseguir”

> ![](https://help.scriptcase.net/galleryDocuments/edbsn673b294cf9eea730c59d10add0858129b44918e6234306091e05e6bac7e5847c0d43f21c9232dff0cb06b10394377a79?inline=true)

6. Associe os campos às colunas correspondentes e clique em “Prosseguir”:

### USUÁRIO

- Tabela→ sec\_users
- Login → login
- Senha → pswd
- Nome→ name
- Telefone → phone
- Cargo → role
- E-mail → email
- Ativo→ active
- O código de ativação → activation\_code
- Privilégio de administrador → priv\_admin
- Autenticação de dois fatores (2FA) → mfa
- Foto → picture
- Última alteração de senha → pswd\_last\_updated
- Tempo de revalidação→ mfa\_last\_updated

> ![](https://help.scriptcase.net/galleryDocuments/edbsn002712e2d8ebba8aa1a7c8081f80dc2e78b3136e4133a5da76fb73bfd3cae9e4363a2e1f78c0689ca5c937e56b74b849?inline=true)

### GRUPO

1. Tabela → sec\_groups
2. ID → group\_id
3. Descrição → description

> ![](https://help.scriptcase.net/galleryDocuments/edbsnc0fc5e59457a56f9da40a4d1daee80f82243791f87e454cba1cbe56b8d84ac5e86032469a18ee0f6cdbf67f8b960b49a?inline=true)

### APLICAÇÃO

- Tabela → sec\_apps
- Nome da Aplicação → app\_name
- Descrição → description
- Tipo de Aplicação → app\_type

> ![](https://help.scriptcase.net/galleryDocuments/edbsnd2559cf7663e60b022aa726c0c3cc68693d3e676314bf01ef1de7412f5b72252e684b95630a9e7e256637b14079f0426?inline=true)

### USUÁRIO/GRUPO

- Tabela → sec\_users\_groups
- Login → login
- Código do Grupo → group\_id

> ![](https://help.scriptcase.net/galleryDocuments/edbsn1900e366d209f9cd1b6ee60700b417a1ef7f4e08b12722085df7bbdac8c106bdb919625864f440afbf8bed3459bb0e7e?inline=true)

### GRUPO/APLICAÇÃO

- Tabela → sec\_groups\_apps
- Código do Grupo → group\_id
- Nome da Aplicação → app\_name
- Privilégio de Acesso → priv\_access
- Privilégio de Inserção → priv\_insert
- Privilégio de exclusão → priv\_delete
- Privilégio de atualização → priv\_update
- Privilégio de exportação → priv\_export
- Privilégio de Imprimir → priv\_print

> ![](https://help.scriptcase.net/galleryDocuments/edbsn27165ed8e5e10b98d0f16b656b93ae27294a5ff7f36b385686b8dbeac764ad1f3a762f2eca964ffb584a362d4f730b4d?inline=true)

### CONFIGURAÇÕES

- Tabela → sec\_settings
- Nome → set\_name
- Valor → set\_value

> ![](https://help.scriptcase.net/galleryDocuments/edbsn5078889e5d692b9017dcfeee6e6601d05ec3bc08de877980ad12a704321d7aca50b9a8375e4ea4c41025637867a59d38?inline=true)

7. Escolha o prefixo das aplicações do novo módulo

> ![](https://help.scriptcase.net/galleryDocuments/edbsne65ed08f91ae15eee711d52a3d38717ecde57549c3fbb23860934df02328b6811d125539ce35918d82406245a621925f?inline=true)

8. Preencha a aba “Configurações de e-mail” e clique em “Gerar segurança”

> ![](https://help.scriptcase.net/galleryDocuments/edbsn1494cf5cda9bae6ce13c736449ab3298cde986ce75ad593492af43476b18228ef4f018d50a6f45d032896aa571ba1679?inline=true)

9. A aba Salvar Perfil é opcional — é possível ler mais sobre ela na [documentação do novo módulo de segurança](https://www.scriptcase.com.br/docs/pt_br/v9/manual/10-modulos/03-modulo-de-seguranca/01-visao-geral/). Clique em “OK”

> ![](https://help.scriptcase.net/galleryDocuments/edbsn673b294cf9eea730c59d10add0858129c1993fff70b4fa4fcefe7a15c95ef86ffc6dc78b3c3fc1666b6df519ddfbff01?inline=true)

10. Gere o código fonte das novas aplicações

> ![](https://help.scriptcase.net/galleryDocuments/edbsnf346a7cf5ec674c035df115da511d117f47204901f9f9df1fb9dc403ff031cab93957f01b3be3c304a4c28127a066a38?inline=true)

## Conclusão

Neste artigo, aprendemos a importância de manter a segurança de um projeto bem atualizada, as diferenças entre o módulo de segurança antigo e o novo e como migrar de um para o outro.

Para dúvidas relacionadas ao módulo antigo e suas funcionalidades, acesse a [documentação do módulo de segurança antigo](https://www.scriptcase.com.br/docs/pt_br/v9/manual/10-modulos/02-modulo-seguranca/01-visao-geral/).

Para dúvidas relacionadas ao novo módulo, acesse a [documentação oficial do novo módulo de segurança](https://www.scriptcase.com.br/docs/pt_br/v9/manual/10-modulos/03-modulo-de-seguranca/01-visao-geral/)