저장소 패턴 데이터베이스에 User 테이블이 있는데 역할을 연결하려고합니다. 간단한 회원을 사용자 정의하는 가장 좋은 방법은 무엇입니까?기존 테이블을 사용하기 위해 간단한 멤버쉽을 사용자 정의합니다.
1
A
답변
1
읽고 다음 MSDN 기사 :
Implementing a Membership Provider 다음과 같은 CodeProject의 기사 :
Custom MembershipProvider and RoleProvider Implementations that use Web Services
1
당신은 InitializeSimpleMembershipAttribute.cs
파일의 구성이에 위치 설정해야합니다 Filters
프로젝트의 폴더. 에
WebSecurity.InitializeDatabaseConnection("DefaultConnection",
"UserProfile",
"UserId",
"UserName",
autoCreateTables: true);
지금, 당신은 단지 첫 번째 매개 변수에 (의 Web.config에 선언되어야한다) 데이터베이스에 연결 문자열을 넣을 필요가 테이블 이름 : 파일에 다음 줄을 찾을 것을
열기 두 번째 매개 변수, UserId 열 이름을 세 번째 매개 변수로 가져옵니다. 및 UserName 열 이름을 네 번째 매개 변수로 가져옵니다.
마지막 매개 변수에 대해 true로 설정하면 간단한 멤버십이 데이터베이스에 필요한 테이블을 찾지 못하면 true로 설정됩니다.
그러나 단순 회원 자격을 위해 별도의 테이블을 사용하고 SM이 자체 테이블을 만들 것을 권장합니다. 그 후, 당신은 영원히 한 번, 다음과 같은 코드의 블록으로 SM 테이블에 대한 모든 기존 사용자를 추가 할 수 있습니다
var oldUsers = db.Users.ToList();
foreach (User u in oldUsers)
{
WebSecurity.CreateUserAndAccount(u.UserName, u.Password);
}
그리고 그 후
, 당신은 회원 및 권한 부여 작업에 문제가하지 않은 어떤 더 ...
UsersContext는 무엇입니까? 이 항목을 응용 프로그램 용으로 만든 컨텍스트로 바꾸고 사용자 지정 사용자 테이블을 포함 할 수 있습니까? – Jay
@ 제이 - 어디에서 찾을 수 있습니까? – AminSaghi
내 컨텍스트가 Project.Data라는 데이터 라이브러리에 포함되어 있습니다.이 필드는 빈 프로젝트 초기화 프로그램의 Project.Models 기본값 대신 프로젝트에 대한 참조로 포함되어 있습니다. – Jay