asp.net MVC 코어 어플리케이션으로 작업 중입니다. 사용자 및 역할 테이블이있는 사용자 지정 데이터베이스가 있습니다. 나는 aspnetusers, aspnet 역할 테이블을 사용할 필요가 없도록 사용자 정의 테이블에서 asp.net ID를 사용하려고합니다. asp.net ID 및 asp.net 코어로 수행하는 방법aspnet identity with custom tables를 사용합니다.
답변
그걸로 행운을! :) 나는 지난 며칠 동안 그 과정을 그냥 지나쳤습니다. 나는 그것을 작동 시키지만 어떤 단계에서는 정말 고통 스럽다. 한마디로
:
당신은 IUSER 인터페이스를 구현하는 고유 한 사용자 모델을 만들 필요가- .
- 당신은 사용자 정의 DB 테이블에서 데이터를 가져 자신의 DAL를 만들 필요가 당신은
를 사용하려면 asp.identity 어떤 기능에 따라 서로 다른 인터페이스를 구현하는 자신의 UserStore를 구현해야
쿠키 미들웨어 인증을 사용할 수 있습니다. 당신은 사용자 이름과 비밀번호를 확인 후 Startup.cs에서
당신은 당신이 전화 로그인에, 당신의 코드에서
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationScheme = "MyCookieMiddlewareInstance",
LoginPath = new PathString("/Account/Unauthorized/"),
AccessDeniedPath = new PathString("/Account/Forbidden/"),
AutomaticAuthenticate = true,
AutomaticChallenge = true
});
를 추가
await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance", principal);
과에 사인 오프
await HttpContext.Authentication.SignOutAsync("MyCookieMiddlewareInstance");
자세한 내용은 Microsoft website에있는 기사를 참조하십시오.
이 경우 등록을 어떻게 처리합니까? 그것은 내 자신의 테이블 asp.net 신분 또는 aspnet 신분을 대체합니까? –
이 방법으로 자체 등록을 사용해야합니다. 사용자 및 역할 표는 아무런 구절이없는 것처럼 보일 수 있습니다. – malkassem
asp.net ID 또는 aspnet ID 대신 자신의 테이블에 있습니까? –
나는 당신의 질문을 이해하고 있는지 잘 모르겠습니다. 무슨 뜻인지 설명해 주시겠습니까? –
아하, 알았어. 아니, 그것은 asp.net 신원에 대한 대안이 아닙니다. 그것은 당신 자신의 데이터베이스를 사용하는 asp.identity입니다. asp.identity internaly는 인터페이스를 사용하고 asp.identity에 사용 방법을 알리기 위해 사용자 정의 데이터베이스와 통신하기위한 인터페이스를 구현해야합니다. "ASP.NET ID는 응용 프로그램을 다시 작업하지 않고도 자신의 저장소 공급자를 만들고 응용 프로그램에 연결할 수있게 해주는 확장 가능한 시스템입니다." –