2013-09-04 12 views
1

저는 asp.net에서 회원 자격을 처음 사용했습니다. firstname과 같은 추가 매개 변수를 사용하여 새 사용자를 만들어야하는 경우 여분의 매개 변수에 대해 새 테이블을 만들어야합니까?Asp.net : 회원 데이터베이스에 추가 사용자 정보를 어떻게 추가합니까?

CreateUserWizard를 사용하여 사용자를 만들지 않으면 Membership.CreateUser를 사용하여 사용자를 만듭니 까?

도와주세요

답변

2

첫 번째 이름과 같은 추가 사용자 정보를 가져온 후에이 정보를 사용자 지정 데이터베이스 테이블에 저장할 수 있습니다.

유효한 포인트가 프로필에 정보를 저장하고있을 수 있습니다. 그러나 마법사를 실행할 때 사용자는 아직 인증되지 않으므로 정보를 프로필에 저장할 수 없습니다. 인증 된 사용자 만 사용할 수 있기 때문입니다. 따라서 사용자 지정 데이터베이스 테이블에 저장하거나 등록 프로세스 후 사용자가 프로필을 편집 할 수있는 방법을 포함시켜야합니다.

dbo.aspnet_Profileaspnetdb 데이터베이스 안에있는 테이블이며 사용자의 프로필을 저장하는 데 기본적으로 사용됩니다. 따라서 프로필에 저장하려는 경우 사용자 생성 후 새로 생성 된 사용자의 프로필을로드하고 수집 한 사용자 정의 정보를 설정하십시오.

ProfileCommon p = Profile.GetProfile(strUsername); 
//update the field and save 
p.FirstName= txtFirstName.Text; 
p.Save(); 

질문 2 ::

If I am not using CreateUserWizard to create user, do I just use 
Membership.CreateUser to create the user?? 

예, 그것은 사용자를 만들 CreateUserWizard를 사용할 필요는 없습니다. UserName, Password는 2 TextBoxes 만 사용하고 MemberShip.CreateUser() 메서드의 다양한 오버로드 된 버전을 사용하여 사용자를 만들 수 있습니다. Check MSDN. 또한,이 Link 아주 기본적인 정보를 가진 사용자를 만들었습니다.

1

사용자 이름과 사용자 ID를 저장하는 UserProfile 테이블이 있습니다. 이것은 Membership.CreateUser 함수에 의해 사용됩니다.

이 테이블에 추가하는 경우 열을 null 허용 가능해야합니다. 그렇지 않으면 새 사용자를 만들 때 오류가 발생합니다.

별도의 표를 사용하여 추가 세부 정보를 저장하는 방법도 있습니다. 기본 키의 유형이 INT이고 자동 증가가되지 않도록하십시오. 이 방법을 사용하면 ID가 UserProfile 테이블의 사용자 ID와 동일하도록 보장 할 수 있으므로 두 테이블 간의 일대 다 관계를 피할 수 있습니다.

+0

설명해 주셔서 감사합니다. 데이터베이스를보고 있는데 UserProfile 테이블이 없지만 Users 및 Profile 테이블이 있습니다. 사용자 테이블에 사용자 이름이 포함되어 있습니다. 프로필 테이블에 PropertyNames가 있습니다 ...이 테이블은 다른 테이블을 포함하여 연결되어 있습니까? – LittleFunny

+0

나는 (비록 내가 당신에게 다른 시각을 가지고 있다고해도 - 나는 EF5 Code First로 Razor를 사용하고있다) - 테이블이 동일한 PK 또는 FK 관계를 통해 연결될 것이라고 상상한다. 당신은 테스트 사용자를 만들 수있는 연결을 확인하기 위해 두 테이블을 엽니 다? – Andy

2

ASP.NET 프로필 속성을 사용하여 사용자의 추가 정보를 저장할 수 있습니다. 이 MSDN 기사에 대해 더 많이 알고 있습니다.