ASP.NET ID를 사용하여 멀티 테넌트 사용자 로그인을 구현하는 방법
-
21-12-2019 - |
문제
다중 테넌트 솔루션을 개발하고 최신 ASP.NET ID 프레임 워크를 사용하고 싶습니다.href="http://www.nuget.org/packages/microsoft.aspnet.identity.entityframework/"> 엔티티 프레임 워크 구현
기본적으로 두 사용자가 동일한 사용자 이름을 갖도록 허용해야합니다. 테넌트 내에서 고유해야합니다. 트위터, Microsoft, Facebook 및 Google과 같은 외부 로그인을 사용하고 싶습니다.
내가 말할 수있는 것에서, 프레임 워크는 확장 성을 허용하는 것처럼 보이지만, 틀 워크가 다중 임차인으로 설계되지 않았다.나는 가능한 한 많은 기존 구성 요소를 사용하는 것을 선호하지만, 엔티티 프레임 워크 구현 및 코드를 모두 코드화합니다.
다른 누구도 이것을 시도했고 그들이 얼마나 많은 코드를 강요해야 했습니까?
해결책
이제 GitHub 저장소에서 공유하는 작업 솔루션을 얻었습니다.
https://github.com/jskimming/aspnet.identity.entityframework.multitenant
Microsoft.Aspnet.Identity.entityFramework (적어도 많은 사용자 정의 작업이 아닌)이지만 현재 nightly ASP.NET 웹 스택 NuGet 패키지 . NuGet 패키지로 생성 한 내용 aspnet.identity.entityframework .multitenant 현재 야간 ASP.NET 웹 스택 NuGet 패키지 .
멀티 테넌시를 허용하기 위해 패키지를 사용하는 두 개의 간단한 사이트를 제공했습니다.
- 바닐라 구현 이 표준 MVC5 템플릿 프로젝트 인 문자열 기본 키를 사용합니다.
- 다중 임차를 제공하는 데 필요한 변경 사항은이 커밋 에 절단되었습니다.
- 정수 기본 키 구현 정수 기본 키를 사용하는 더 많은 사용자 정의
- 다중 임차를 제공하는 데 필요한 변경 사항은이 커밋 에 격리되었습니다.
ASP.NET ID의 1.1 버전이 릴리스 된 솔루션을 업데이트 할 계획입니다.
다른 사람들이 내가 출시 한 NuGet 패키지에서 몇 가지 사용을 찾으면 피드백은 환영합니다. 찾는 문제를 제기합니다.
업데이트
이제 Microsoft.Aspnet.Identity의 2.0 릴리스를 사용하도록 솔루션이 업데이트되었습니다. .entityFramework .
다른 팁
예 우리는 이것을 명시 적으로 확장 성 시나리오로 남겼습니다.UserManager 속성을 재정의하고 사용자 정의 iUserStore를 구현 하여이 작업을 수행 할 수 있어야합니다.잠재적으로 EF UserStore를 확장 할 수 있으며 사용자에게 TenantId를 추가 할 수 있습니다.