2014-09-06 4 views
0

우리는 ASP.NET 웹 사이트에서 폼 인증을 사용하고 있지만 새로운 ID 공급자로 업그레이드하려고합니다. 현재 우리는 데이터베이스 접근법을 사용하고 있으며 새로운 ID 형식을 사용하기 위해 현재 사용자 테이블 (aspnet_users가 아닌)을 확장하고자합니다. 우리는 StructureMap을 사용하여 우리의 컨텍스트를 비즈니스 로직 클래스에 주입합니다. 예를 들어 우리의 사용자 서비스는 현재이이 생성자로 : 우리는이를ID 처리를위한 현재 사용자 클래스 확장

private readonly SiteModelContainer _context; 
public UserService(SiteModelContainer context) 
{ 
    this._context = context; 
} 

그리고 우리의 IOC의 레지스트리에 : 우리는 또한 EDMX 엔티티 프레임 워크를 처음으로 데이터베이스를 사용하는

var ecsbuilder = new EntityConnectionStringBuilder(); 
ecsbuilder.Provider = "System.Data.SqlClient"; 
ecsbuilder.ProviderConnectionString = @"data source=***;initial catalog=***;persist security   info=True;User ID=***;Password=***;multipleactiveresultsets=True;App=EntityFramework"; 
ecsbuilder.Metadata = @"res://*/Data.***.csdl|res://*/Data.***.ssdl|res://*/Data.***.msl"; 
string connectionString = ecsbuilder.ToString(); 
For<SiteModelContainer>().Use<SiteModelContainer>().Ctor<string>("connectionString").Is(connectionString); 
For<IUserService>().Use<UserService>(); 
...all the rest of our services 

. 이전에는 박스에서 나왔고 프로필 정보를 저장하는 별도의 사용자 테이블을 가지고 있지만 대신 모든 사용자 클래스에서 작동하도록 ASP.NET 인증을 사용했습니다.

1) Identity를 사용하는 것과 관련된 모든 것을 처리하기 위해 사용자 서비스를 확장 할 수 있습니까? 그래서 Identity는 우리가 수업에 주입하는 것과 같은 맥락을 사용합니까? 그렇다면 어떤 기사도 찾을 수 없습니까?

2) User 객체가 EDMX 파일에서 생성 된 경우이를 확장 할 수 있습니까?

감사

답변

0

나는 Asp.Net ID 및 I 사용자를 터치 사용자 관리 및 모든 대부분의 지역을 재 작성 결국 시간의 양에 MembershipProvider에서이 개 상당히 큰 프로젝트를 마이그레이션 한. 상당히 두툼한 재 작성.

당신이 요구하는 것은 가능하지만 어렵고 시간이 많이 걸립니다. this question부터 시작할 수 있습니다. OP는 자신의 db-first 프로젝트가 ID로 실행되고 있습니다. 그리고 우리는 당신을 도울 수있는 몇 가지 링크로 의견을 나누었습니다.

관련 문제