VS2013 RTW MVC 템플릿 ("개별 사용자 계정"용)에서 새로운 ASP.NET ID 제공 기능을 사용 해왔고 훌륭하게 작동합니다. 데이터 직렬화 방식을 사용자 정의하면서 Facebook 로그인을 통합 할 수있었습니다 .VS2013 (RTW) : SPA 템플릿 대 MVC5 템플릿의 인증 차이점은 무엇입니까?
모두 좋았지 만 MVA 대신 새로운 SPA 앱을 만들면 인증 이야기가 매우 다른 것처럼 보였습니다. 스파 템플릿에서
: 다음 MVC 템플릿에서
public AccountController()
: this(Startup.UserManagerFactory(), Startup.OAuthOptions.AccessTokenFormat)
{
}
public AccountController(UserManager<IdentityUser> userManager,
ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
{
UserManager = userManager;
AccessTokenFormat = accessTokenFormat;
}
: 예를 들어
public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
{
}
public AccountController(UserManager<ApplicationUser> userManager)
{
UserManager = userManager;
}
이 계정 컨트롤러의 생성자에서 단지 차이가있다. 다른 많은 차이점이 많이 있습니다. MVC 버전을 사용하면 ApplicationDBContext에서 내 자신의 컨텍스트 클래스를 쉽게 파생시킬 수 있었고이를 사용하여 인증 테이블과 함께 내 테이블을 저장할 수있었습니다. SPA 템플릿의 데이터 저장소를 사용자 지정하는 방법을 알 수 없습니다.
또한, SPA 템플릿을 포함하고이 클래스를 사용 공용 클래스 ApplicationOAuthProvider : OAuthAuthorizationServerProvider
MVC의 템플릿을 정의하지 않는 (또는 사용)이 클래스를.
왜 MVC 템플릿과 SPA 템플릿간에 차이가 있는지 이해할 수 없습니다.
누구나 인증이 이렇게 두 가지 템플릿에서 다르게 처리되는 이유에 대한 지침을 줄 수 있습니까? 처음부터 프로젝트를 시작하면이 두 프로젝트를 따라갈 수있는 기본 경로가 있습니까? ...
감사합니다 (그것은 MVC 템플릿의 코드 특히 데이터가 사용자 정의 EF 컨텍스트 클래스를 정의하여 저장되는 방법을 사용자 정의의 측면에서 가장 좋습니다.처럼 보인다)
-Ben
매우 이상합니다. 내가 아는 바로는 'OWin.Security'는 ASP.Net에서 Auth를 통합하기위한 것이 었습니다. 적어도 백 엔드. 프런트 엔드에서는 서로 다르다는 것을 알 수 있습니다. MVC5는'AccountController' /'AccountView'를 사용하여 Auth를 처리합니다. 그러나 SPA의 전체 POINT는 단일 페이지 (단일 컨트롤러 /보기) 만 가질 수 있다는 것입니다. 그래서 auth 구성 요소를 별도의 컨트롤러에 구현하는 대신 SPA 컨트롤러에 주입해야한다고 생각합니다. 단지 두 센트입니다. – Aron