ASP.Net Core 2.1의 ID : AccountController 사용자 지정


89

내가 설치 한 ASP.NET Core 2.1그러나 비록 나는 새로운 만들었 ASP.NET Core Web Application사용 ASP.NET Core 2.1하여 Individual User AccountsStore user accounts in-app나는 AccountController 또는 뷰를 찾을 수 없습니다.

여전히 문제없이 등록하고 로그인 할 수 있지만 코드를 찾을 수 없습니다. 2.0에있었습니다.

여기에 이미지 설명 입력


답변에 관심이 있으시면 여기에 질문을하셨습니다 : stackoverflow.com/questions/51728881/… . .NET Core 2.1 Identity Server 4 앱에서 로그 아웃하는 데 어려움을 겪고 있습니다. +1.
w0051977

답변:


74

2.1변경 사항 중 하나 는 Razor 클래스 라이브러리였으며 기본 ID는 개별 인증 템플릿에있는 이들 중 하나에 있습니다. 사용자 지정할 수 있도록 앱에 코드를 포함하려면 Visual Studio 또는 전역 스캐 폴더 도구를 사용하여 스캐 폴드 할 수 있습니다. 둘 다 수행하는 방법에 대해서는 이 가이드 를 참조하십시오 .


20
컨트롤러가 아닌 cshtml 파일을 생성 할 수있었습니다. 가이드는 그것을 언급하지 않았으며 accountController를 생성하는 방법에 대한 아이디어가 있습니까?
user1085907

6
아, 내 나쁜 ... 서브 파일에서 그 같은 디자이너
user1085907

15
이것이 개선 된 이유는 무엇입니까? 불필요하게 복잡하게 만듭니다.
liang

93

ASP.NET Core 2.1에는 재사용 가능한 라이브러리의 일부로 뷰와 페이지를 빌드 할 수있는 Razor 클래스 라이브러리라는 새로운 기능이 도입되었습니다. ASP.NET Core ID는 이러한 RCL로 이동되었습니다. 프로젝트에서 재정의 할 수 있습니다.

  1. 에서 솔루션 탐색기 > 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가 > 새 비계 항목 .
  2. Add Scaffold 대화 상자 의 왼쪽 창 에서 Identity > ADD를 선택 합니다.
  3. 에서 ADD 신원 대화 상자에서 재정의 할 파일을 선택합니다.
    1. 필요한 경우 레이아웃 선택
    2. 데이터 컨텍스트 클래스를 선택하거나 만듭니다 .
  4. ADD를 누르십시오 .

자세한 내용 은 설명서 를 참조하십시오 .


1
이에 머리를 위해 .. 감사합니다 '새 비계 항목을'일어나 프로젝트 여부에 마우스 오른쪽 버튼으로 클릭으로 솔루션이 필요합니다
leen3o

1
이것은 여전히 ​​계정 컨트롤러 필드를 가져 오지 않습니다. 사용자 정의 필드를 추가했다고 말하면 등록 방법에서 필요하다고 어떻게 알 수 있습니까?
rogue39nin

면도기 페이지 대신 컨트롤러를 덮어 쓰려면 어떻게해야합니까? SPA를 사용하고 있으므로 컨트롤러를 재정의 할 수 있는지 잘 모르겠습니다
Robert Tirta

7

내 솔루션은 .net core 2.0으로 프로젝트를 만든 다음 프레임 워크를 2.1로 업데이트하고 모든 종속성을 최신 버전으로 업데이트하는 것입니다.




2

내가 아는 한, AccountController 코드는 Razor 페이지 (및 해당 코드 숨김)로 이동되었으며 기본값을 사용하여 가장 잘 작동하므로 새로운 Net에서 Scaffold (즉, 올바른 위치에 파일을 생성) 할 수있는 코드를 사용자 정의 할 수 있습니다. Visual Studio 2017에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 선택 대화 상자를 여는 추가 => 새 스캐 폴딩 항목 => ID를 선택하여 Core 2.1 프로젝트. 원하는 페이지를 선택하면됩니다. 이 새 페이지가 기본값을 자동으로 재정의하므로 원하는 페이지를 변경하고 ID 사용 프로젝트의 동일한 위치에 복사하기 만하면됩니다. 이것은 많은 사람들이이 중요한 진전을 고려하고 있는지 확실하지 않은 신원을 사용하여 인증 / 승인을 사용자 정의하는 새로운 방법입니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.