Isolamento do ASP.NET Identity e utilização no Domínio
##Objetivo
Disponibilizar um modelo de arquitetura de uma aplicação ASP.NET MVC utilizando conceitos de DDD e ASP.NET Identity
Isolamento do ASP.NET Identity e utilização no Domínio
License: MIT License
Olá Eduardo,
Antes de mais parabéns pelos seus conteúdos. Espero que regresse em breve com mais artigos fantásticos.
Tenho uma dúvida que gostaria de colocar. A arquitetura Clean Architecture é uma arquitetura muito interessante, mas com o .Net Core Identity causa sérios problemas no isolamento do identity com a camada Domain.
O problema que estou encontrando é que apesar do Identity ficar bem isolado na camada Infrastrutura, caso pretenda utilizar propriedades adicionais no meu utilizador sem misturar esses dados com a tabela AspNetUsers, os problemas começam.
Terei de criar uma nova entidade na camada Domain, por exemplo, UserProfile, e conseguir uma forma de relacionar essa entidade com a entidade ApplicationUser sem 1) incluir uma referência do ApplicationUser na minha nova entidade e 2) sem mover a entidade ApplicationUser para a camada Domain.
Em todos os projetos de Clean Architecture essa situação ou não é abordada (acrescentam novas propriedades na ApplicationUser) ou a solução dada passa por incluir uma referência ao Id da ApplicationUser na nova entidade.
A primeira solução não me agrada já que me obriga a juntar campos numa tabela do Identity. A segunda, trás novos e complexos problemas já que me vai obrigar a uma sincronização manual de 2 tabelas em caso de criação ou eliminação de dados, obrigando ainda à utilização de transações para evitar dados orfãos sem caso de falha na sincronização.
Qual é a sua ideia sobre isto? Tem ou já viu alguma solução eficaz para esta problemática?
Apesar de gostar da sua solução, preferia ter visto o isolamento dos dados também ao invés de ficar preso a uma tabela "proprietária" da Microsoft. Gostaria de ver uma tabela para so dados base do Identity e outra para os dados adicionais.
Muito obrigado!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.