나는 클래스, 학부모, 학생, 과목 및 교사와 같은 테이블로 구성된 데이터베이스로 간단한 ASP.Net 응용 프로그램을 만들었습니다.ASP.NET 사용자 로그인
교사와 학부모가 서명하는 두 개의 엔티티가이 애플리케이션과 상호 작용합니다.
제 질문은 AspNetIdentity와 함께 제공되는 AspNetUsers 테이블에 등록 할 때마다 새로운 사용자를 저장하는 대신 Teachers 테이블에서 교사를 연결하는 방법입니다.
일단 교사/학부모가 로그인하면 해당 교사/학부모와 관련된 세부 정보를 보여주고 싶습니다. 예를 들어 선생님이 로그인하면 나는 데이터베이스에서 가져온 모든 수업을 보여주고 싶습니다.
ASP.NET MVC에 익숙하므로 매우 명확한 내용을 묻는다면 사과 할 것입니다. 어떤 도움이라도 appritiated됩니다. 크리스의 제안이 ApplicationUser에서 상속 후, 그래서
UPDATE
좋아, 내 데이터베이스를 업데이트 관리 지금은 내 데이터베이스에 대한 다음과 같은 구조를 가지고있다.
는 지금은 부모 및 교사 테이블이 어디에 정확히 내가 데이터베이스에서 해당 개체를 검색 할 방법들이 하나 개의 테이블 "AspNetUsers"모든 경우에 조금 혼란 스러워요. 업데이트 2그래서 난 내 AccountController에이 코드 조각이
public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
{
}
public AccountController(UserManager<ApplicationUser> userManager)
{
UserManager = userManager;
}
public UserManager<ApplicationUser> UserManager { get; private set; }
그리고 이것은 등록() 메소드는 모습입니다 같은 :
if (ModelState.IsValid)
{
var user = new ApplicationUser() { UserName = model.UserName, FirstName = model.FirstName, LastName = model.LastName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var Teacher = new Teacher
{
UserName = model.UserName,
FirstName = model.FirstName,
LastName = model.LastName,
};
// Add the Address properties:
user.UserName = model.UserName;
user.FirstName = model.FirstName;
user.LastName = model.LastName;
var roleStore = new RoleStore<IdentityRole>(new ApplicationDbContext());
var roleManager = new RoleManager<IdentityRole>(roleStore);
await roleManager.CreateAsync(new IdentityRole("Teacher"));
await UserManager.AddToRoleAsync(user.Id, "Teacher");
await SignInAsync(user, isPersistent: false);
return RedirectToAction("Index", "Home");
}
다스 려에 Chris는 새로운 사용자가 새로운 교사로 등록 할 때 ApplicationUserManager의 인스턴스를 어떻게 설정합니까?
여기에 바보 같은 질문이 없습니다. 당신은 아주 좋은 질문을했습니다. – RBT