ISTO É POSSÍVEL, COM C#?
Bom dia!
Peço se possível, uma orientação aos colegas de trabalho:
Quando crio minhas aplicações desktop (Com Telas) em C#, inclusive corporativas (Empresa),
também crio o meu próprio controle de acesso. Com telas para
login e todo aquele mecanismo com cadastro de usuários, perfis, etc.
para definir o que o usuário "pode ou não fazer".
No entanto, fui consultado pela direção, sobre a possibilidade de
criar meu próximo aplicativo integrado ao "AD". ou seja, de tal
modo que o usuário faça o login no meu aplicativo, usando suas credenciais de usuário e senha
do próprio Windows(11).
Como nunca fiz isso, resolvi consultar os colegas:
1.) É perfeitamente possível?
2.) Tem alguma desvantagem, por usar o "AD" ao invés de criar meu próprio mecanismo de autenticação e controle de acesso?
3.) Usando integração com "AD", eu tenho como definir o que o usuário pode ou não fazer(Que funcionalidades pode usar), ou a integração
servirá somente para autenticar o Login?
Agradeço qualquer orientação.
Peço se possível, uma orientação aos colegas de trabalho:
Quando crio minhas aplicações desktop (Com Telas) em C#, inclusive corporativas (Empresa),
também crio o meu próprio controle de acesso. Com telas para
login e todo aquele mecanismo com cadastro de usuários, perfis, etc.
para definir o que o usuário "pode ou não fazer".
No entanto, fui consultado pela direção, sobre a possibilidade de
criar meu próximo aplicativo integrado ao "AD". ou seja, de tal
modo que o usuário faça o login no meu aplicativo, usando suas credenciais de usuário e senha
do próprio Windows(11).
Como nunca fiz isso, resolvi consultar os colegas:
1.) É perfeitamente possível?
2.) Tem alguma desvantagem, por usar o "AD" ao invés de criar meu próprio mecanismo de autenticação e controle de acesso?
3.) Usando integração com "AD", eu tenho como definir o que o usuário pode ou não fazer(Que funcionalidades pode usar), ou a integração
servirá somente para autenticar o Login?
Agradeço qualquer orientação.
1) Sim, totalmente possivel, eu por exemplo fazia intranets com usuario vindo do SO previamente autenticado (ou seja, nao precisa de senha, ja sei que esta logado e bola para frente)
2) Nao, pelo contrario, voce so chega na aplicacao tendo passado por outras camadas
3) A autenticacao servira exclusivamente para voce achar o usuario (nao recomendo pedir a senha novamente, a menos que voce queira e vai dar trabalho). Parta do principio de que se chegou na aplicacao com um usuario valido do AD, bora para frente.
Desvantagens:
- se quiser bater a senha de rede do usuario vai dar trabalho
- nao ha possibilidade de ficar se passando por outra pessoa/usuario, tem que de fato deslogar da maquina
Vantagens
- id do usuario externo fornecido pelo SO
- dados extras (nome, email, telefone, etc...) ja vem de bandeja
- se chegou na aplicacao esta ativo, exemplo : demitidos sao inativados automaticamente e voce nao precisa se preocupar
2) Nao, pelo contrario, voce so chega na aplicacao tendo passado por outras camadas
3) A autenticacao servira exclusivamente para voce achar o usuario (nao recomendo pedir a senha novamente, a menos que voce queira e vai dar trabalho). Parta do principio de que se chegou na aplicacao com um usuario valido do AD, bora para frente.
Desvantagens:
- se quiser bater a senha de rede do usuario vai dar trabalho
- nao ha possibilidade de ficar se passando por outra pessoa/usuario, tem que de fato deslogar da maquina
Vantagens
- id do usuario externo fornecido pelo SO
- dados extras (nome, email, telefone, etc...) ja vem de bandeja
- se chegou na aplicacao esta ativo, exemplo : demitidos sao inativados automaticamente e voce nao precisa se preocupar
Active Directory é muito legal de trabalhar. Você pode usar o namespace System.DirectoryServices para as funções mais básicas, mas não é só isso. É assunto pra uma formação inteira à respeito. No mais é como o WebMaster falou, se está na aplicação é porque já está logado no AD.
Alterado em 08/08/2024 13:17:04
Boa tarde, colegas!
Agradeço muito as respostas.
Mas, aqui na empresa, temos um contexto "específico".
Uma mesma máquina é compartilhada, por vários usuários do mesmo setor.
Logo, se eu usar integração com o AD (Até onde entendi), a aplicação fica liberada depois que
a máquina é ligada e "qualquer" um do setor realizou o primeiro login.
Estou certo?
Agradeço muito as respostas.
Mas, aqui na empresa, temos um contexto "específico".
Uma mesma máquina é compartilhada, por vários usuários do mesmo setor.
Logo, se eu usar integração com o AD (Até onde entendi), a aplicação fica liberada depois que
a máquina é ligada e "qualquer" um do setor realizou o primeiro login.
Estou certo?
Exato. Quem quer que tenha logado é o usuário da sessão.
O ideal em uma máquina compartilhada é que o usuário faça o login, execute suas tarefas e faça o logout. E o ciclo é o mesmo para qualquer usuário. Loga, trabalha e desloga.
Senão de que adianta ter um controle de usuários se tanto faz quem loga?
Até é possível rodar a aplicação em contexto de usuários diferentes, mas é bem esquisito.
O ideal em uma máquina compartilhada é que o usuário faça o login, execute suas tarefas e faça o logout. E o ciclo é o mesmo para qualquer usuário. Loga, trabalha e desloga.
Senão de que adianta ter um controle de usuários se tanto faz quem loga?
Até é possível rodar a aplicação em contexto de usuários diferentes, mas é bem esquisito.
Muito obrigado, pelos esclarecimentos.
Tópico encerrado , respostas não são mais permitidas