Asp.Net Identity
멤버십 / 인증에 사용하는 다중 테넌트 웹 / 모바일 애플리케이션이 있습니다. 사용자는 Android 앱을 통해 또는 웹 인터페이스를 통해 직접 앱을 사용할 수 있습니다. 응용 프로그램을 사용하려면 등록해야합니다.
문제는 단일 이메일 / 사용자 이름 / 전화 번호를 가진 사용자가 동시에 둘 이상의 테넌트에 등록 할 수 없다는 것입니다. 예를 들어 테넌트가 회계 전용이고 다른 테넌트가 메시징 전용이라고 가정 해보십시오. 사용자는 하나의 고유 한 이메일 / 사용자 이름 / 전화로 두 가지 모두에 등록하려고합니다. 그러나 Identity
중복 이메일 / 사용자 이름 / 전화를 자연스럽게 허용하지 않습니다.
나는를 도입 AppId
에 IdentityUser
엔티티. 따라서 어떤 사용자가 어떤 응용 프로그램에 속하는지는 분명합니다. 해결 방법은 AppId
. 예를 들어, 그것을 독특하게 만들기 위해 AppId
앞에 붙 입니다 username
.
이 시나리오에 적합한 디자인이 있습니까?
사용자 계정에 대한 고유 한 유효성 검사 규칙을 구현하려면 고유 한 IIdentityValidator<TUser>
. 아마도 가장 쉬운 방법은 프레임 워크의 UserValidator<TUser>
클래스 ( 여기 소스 참조 ) 에서 상속 하고 클래스의 관련 부분을 재정의하는 것입니다. 이는 테넌트 내에서 사용자 이름 / 이메일 고유성을 추가하려는 경우 유용하지만 다른 테넌트에서 동일한 이메일을 사용할 수 있습니다.
구현이 완료되면 다음 UserManager.UserValidator
인스턴스를 사용하여 연결합니다.IIdentityValidator<TUser>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다