문제

SQLMembershipprovider를 사용하고 있으며 사용자에 대한 추가 정보를 추가하고 싶습니다. 새 DB를 만들고 생성 된 각 새 사용자를위한 항목을 만드는 것이 가장 좋은 방법입니까? 그렇다면 새 DB의 사용자 테이블의 PK로 SQLMembershipprovider userID 값을 사용하지 않는 이유가 있습니까?

아니면 새 DB에서 새로운 userID를 만들고 sqlmembershipprovider userID를 FK로 사용해야 할 충분한 이유가 있습니까?

도움이 되었습니까?

해결책

나는 그것이 작동하지 않는 이유를 생각할 수 없거나 왜 그런 식으로하지 말아야하는지 생각할 수 없습니다 (PK로서의 userId).

왜 모든 것에 대해 별도의 데이터베이스를 사용하는지 잘 모르겠습니다. 아마도 현재 데이터베이스에서 테이블을 만들고 uspnet_users 테이블에 FK로 사용하여 설정했습니다.

다른 팁

멤버십 제공 업체를 다시 작성하려는 경우 모든 PK 열을 Guid에서 Bitint로 전환합니다. 나는 두 가지 이유로 이것을 할 것입니다. 하나의 순차적 숫자는 작업하고 이해하기가 훨씬 쉽고 두 번째는 Guid ID 대신 BigInt를 사용하면 성능 이점이 있습니다. 또한 응용 프로그램의 다른 테이블을 좋아하는 데 사용될 수있는 내 ID 열을 사용하고 SQL 멤버십 제공 업체에서 기본적으로 오는 테이블을 제거합니다. 이를 위해서는 제공자의 각 기능에 대한 코드를 제공해야합니다. 작은 작업은 없습니다.

기존 데이터베이스 스키마 주위에 래퍼를 만들었습니다. MembershipUser 여기에는 추가 속성이 포함되어 있습니다 MembershipProvider 파생 인스턴스를 생성하는 파생물 MembershipUser 수업.

다른 지원 API가 다소 제한되어 있기 때문에 멤버십 인증 및 업데이트 방법 만 사용합니다. 관리자 사용을위한 별도의 생성/편집 사용자 API가 있습니다.

이 솔루션은 현재 여러 사이트에서 사용되고 있으며 잘 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top