Uma das grandes vantagens da Esri é a facilidade de integração com provedores de Identidade, que viabiliza o processo de autenticação dos usuários, não sendo assim necessário ficar criando usuários específicos para acesso aos dados. Este processo facilita o gerenciamento de acessos dos usuários, onde toda atividade é realizada em um mecanismo único, neste caso, trabalhamos com um ambiente integrado com o Activy Directory (AD) do Windows.
Utilizando o Application Builder, foi elaborada uma aplicação de agendamento com objetivo de facilitar ao técnico de campo o processo de agendamento de vistorias dos ativos. Para isso, foi definida como base a necessidade de criar um grupo de gerenciamento no AD, onde o gestor definirá quais técnicos estarão disponíveis para a realização das vistorias.
A ideia inicial era criar uma tabela em banco de dados para armazenamento das informações pessoais dos envolvidos. Isso pode até ser a solução mais simples, mas se torna pouco prático, ou poderia dizer, arcaica e pouco centralizada, devido ao dinamismo da equipe.
Foi então que a partir desses nomes foi criado um domínio automatizado, que recebesse os valores dos nomes do grupo e se atualizasse conforme inserções, edições ou exclusões no grupo, dessa forma haveria um controle bem estruturado.
Neste caso, foi pensada uma forma dinâmica de recuperar as informações, uma vez que o nome de cada técnico já existe nos recursos do AD. Estudando a melhor solução, foi pensada na forma de recuperar as informações utilizando o comando xp_logininfo, onde foi possível receber os valores de login de cada um dos usuários, mas um detalhe deve foi considerado, a forma recuperada foi (Ex: joaodasilva) o que dificultava a visualização para os usuários da solução, sendo o mais correto apresentar o nome completo de cada técnico.
Entendendo esta possibilidade de integração, foi adotado o método de criação de linked server no banco de dados com o Activy Directory, permitindo recuperar as informações dos usuários a partir deste comando.
Assim, foi elaborada uma Procedure que utiliza a consulta abaixo, garantindo que as informações sejam constantemente atualizadas, de acordo com as modificações realizadas no AD.
SELECT
*
FROM OpenQuery
(
LS_AD,
‘SELECT
displayName
FROM
”LDAP: //DOMINIO.GOV.BR/ OU=Usuarios do Dominio,DC=DOMINIO,DC=gov,DC=br”
WHERE
objectClass = ”User”
and memberOf = ”CN=NOME_GRUPO_AD,OU=Grupos GIS,OU=Grupos,OU=Usuarios do Dominio, DC=DOMINIO,DC=gov,DC=br”
‘)
Foi uma solução simples, porém trouxe uma facilidade muito grande no processo de manutenção.
Referencia:
acessado em 23/04/2021
Escrito por
Matheus Monteiro
Função: Analista de Suporte Técnico
https://www.linkedin.com/in/Matheus Monteiro/
Sugestões para você