MVC 5에 대해 알기 시작했으며 내장 된 owin 인증을 사용하려고합니다.ASP.NET MVC 5 OWIN 인증
IIS를 사용하여 폼 인증을 구현해야하지만 OWIN 인증은 내가 기다리는 것보다 복잡합니다.
사용자, 역할 및 RoleUser 테이블이있는 Entity Framework 모델이 있으며이 테이블을 통해 사용자를 인증하려고합니다.
샘플 mvc 5 응용 프로그램에서 owin이 작동하는 방식을 알아 냈습니다. 그것은 ApplicationUser 클래스를 가지고 있습니다 :
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
저의 가장 큰 문제는 IdentityUser입니다. IUser 인터페이스 구현 및 DbContext 연결을 가진 자체 ASP.NET 사용자 클래스입니다. EF 모델에서 고유 한 사용자 POCO 엔터티가 있고 ASP.NET IUser 인터페이스와 혼합하고 싶지 않습니다. 왜 그런지 알지만, IUser 인터페이스의 ID는 문자열 유형입니다. 이것은 나에게도 적용되지 않습니다.
의 owin 비동기 사용자의 기호는 다음과 같다 :
그것은 사용자와 IUSER 인터페이스를 구현해야합니다 사용자 속성에 서명 정체성의 ClaimsIdentity 유형을 작성하는 것이 좋습니다private async Task SignInUserAsync(User user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
ClaimsIdentity identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
.
큰 질문 : 오웬이 내 환경에서 사용할 것을 제안합니까? 내 사용자 클래스를 owin 인증과 함께 사용하고 싶지만 어떻게해야할지 모르겠다.
미리 감사드립니다.