2011-05-14 1 views
1

Silverlight 4, C#, WCF RIA 서비스 및 SQL Server 2008을 사용하고 있습니다. 이름, 성 등 UserBase에서 상속 한 내 AuthenticationDomainService 클래스에 프로파일을 정의했습니다. 다음과 같이 보입니다.WCF RIA를 사용하여 Silverlight 4에서 프로필 속성을 초기화하는 방법

public class BrightSparksUser : UserBase 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
    public DateTime dateOfBirth { get; set; } 
    public String typeOfIdentification { get; set; } 
    public String idNumber { get; set; } 
    public String cellNumber { get; set; } 
    public String emailAddress { get; set; } 
    public int userNumber { get; private set; } 
    public int centreOfInstruction { get; set; } 
    public int accessLevel { get; set; } 
} 

서버 측에서 Web.config 파일을 적절하게 수정했습니다. 클라이언트 측에서이 필드에 데이터를 저장하고 검색 할 수 있으므로 모든 것이 올바르게 설정됩니다.

사용자가 로그인 할 때 데이터베이스에 저장된 세부 정보로이 필드를 채우고 싶습니다. 로그인은 사용자 지정 MembershipProvider를 사용하여 올바르게 작동합니다.

public class BrightSparksMembershipProvider : MembershipProvider 
{ 
    public override bool ValidateUser(string usernumber, string password) 
    { 

     using (BRIGHT_SPARKSEntities context = new BRIGHT_SPARKSEntities()) 
     { 

      var user = context.Users.Where(u => u.Email == usernumber && u.Password == password).FirstOrDefault(); 
      return user != null; 
     } 

내가 설명한 것처럼 필드를 채울 수 있습니까? 이 일에 대해 어떻게 생각하세요?

도움 주셔서 감사합니다.

PS :이 내가 너무 모호하거나 너무 특정 :)되고있어 경우에 그렇게 말해 줘요 여기 내 첫 번째 질문입니다

+0

어디에서이 필드를 채우시겠습니까? –

답변

0
당신이 뭔가를 수행하여 서비스 클래스에서 회원 클래스에 선 수

:

BrightSparksMembershipProvider provider = 
    Membership.Provider as BrightSparksMembershipProvider; 
BrightSparksUser user = 
    (BrightSparksUser)provider.GetUser(user.Username);