Tenho um projeto do .NET identity recém configurado. Meu projet suporta multiplas Organizações e cada Role do sistema tem um ID de organização. Cada role deve definir permissões específicas para o usuário. Ex: Usuário tem a role Gerente em uma organização e pode ver os pedidos de toda a organização e tem a role vendedor em outra organização, podendo ver apenas os pedidos que ele iniciou. Como configuro o identity para autorizar controllers baseados nessa lógica? e como configuro as permissões nas roles?
1- Gere pelo menos 3 diverentes abordagens e descreva os pontos fortes e fracos de cada abordagem.
2- Escolha a melhor estratégia considerando esses pontos.
3- Verifique a solução desenvolvida, avalie casos adversos e potenciais melhorias
4- Descreva passo a passo o que deve ser feito e todos os arquivos que devem ser criados ou alterados com código limpo e bem documentado
Esse foi só um exemplo de prompt que precisei fazer recentemente, Uma forma de autenticação multi-tenant. Já fiz diversas dessas na minha vida porém é tão exporádico que não lembro exatamente quais arquivos alterar.
A IA me deu o caminho, exatamente quais arquivos alterar. 80% estava certo, os outros 20% tive que corrigir (ele tentou implementar uma solição própria para gerenciar as Roles, e o entity tem uma solução pronta).
Quantas horas eu perderia lendo a documentação nada objetiva da microsoft para fazer isso? Quantas horas de tentativa e erro?
E sobretudo, Você sabe customizar um sistema de autorização sem recorrer à documentação?
Hoje os softwares são tão grandes, contam com tantas funcionalidades diferentes, que é impossível "lembrar de tudo no avião"
Trabalhei numa Universidade. Estava alterando códigos de 1998. O Autor original do arquivo estava na minha frente. Um programador excelente que sabia todas as regras de negócio dos últimos 40 anos dessa universidade.
- Ele não sabia o que é CQRS
- Ele não sabia fazer uma replicação
- Ele não sabia mecher com message brokers
- Ele não sabia react, vue, angular ou sequer javascript avançado
- Ele não sabia usar microserviços
Eu uso todas essas tecnologias, não consigo lembrar tudo de cabeça.
Ele é menos programador por não saber?
Ou eu sou menos programador por saber e ter que recorrer à documentação?