내 응용 프로그램은 .NET Framework 4.7 Web Api (Entity Framework 6 포함)입니다.멀티 테넌트 .net 프로젝트에서 역할을 구현하는 가장 좋은 방법은 무엇입니까?
이것은 제작중인 서비스 도구로서의 소프트웨어 용입니다. 내 응용 프로그램에는 AspNetUser와 Company 사이에 많은 관계가 있습니다.
사용자는 많은 회사를 가질 수 있으며 회사는 많은 사용자를 가질 수 있습니다. 사용자는 함께 작업하려는 회사를 기준으로 다른 역할/권한 집합을 가져야합니다. 이와 같은 것을 구현하는 가장 좋은 방법은 무엇입니까?
AspNetUserRoles 테이블에 CompanyId 열을 추가하는 것에 대해 생각해 보았습니다. 따라서 사용자는 관련된 다른 회사에 대해 다른 역할을 수행하게됩니다. 이것이 아주 좋은 구현인지 확신 할 수 없으며 인증 작업 방법을 깨뜨릴 수 있으므로 어떤 방식으로 작동하는지 명확하게 이해할 때까지는 터치하지 않으려 고합니다.
지금까지 멀티 테넌트 응용 프로그램에 대한 리소스 기반 인증에서 this guide을 발견했습니다. 그것은 내가 찾고있는 것으로 보이지만 그것은 .NET Core 용이며 .NET 4.7에서 작동하는지 잘 모르겠습니다.
.NET 4.7과 비슷한 것을 찾을 수 없어서 스택 오버플로 커뮤니티에 문의하고 있습니다.
선택한 구현에서 발생한 모든 문제에 대해 질문의 범위를 좁히는 것이 좋습니다. –
@NoRefundsNoReturns 선택한 구현이 없으므로 어떤 구현이 앞으로 나아갈 수 있는지 묻습니다. 나는 출발점에서 길을 잃었다. – Suren
조언 : 사용자와 회사가 다 대다가 되려면 실제로 재평가해야합니다. 피할 수 있으면 각 회사 (임차인)가 사용자를 소유하고 사용자가 여러 회사와 연결될 필요가있는 다중 소유라는 일반적인 패턴에 빠지면 훨씬 쉽습니다. 사용자가 회사 (임차인)간에 사용자를 공유하도록 허용해야하는 경우 사용자와 회사 (CompanyUser 엔터티) 간의 다 대다 관계를 지원하기 위해 Identity Framework의 대부분을 재정의하고 다시 작성한 다음 CompanyUser와 역할 (CompanyUserRole 엔티티). – chambo