ASP.NET Core(5.x)를 통해 MVC에서 인증 기능(Identity)이 있는 템플릿의 생성 및 동작을 확인합니다.

3571 단어 dotnet
기본적으로여기. 보고 썼는데 기술이란 웹 앱(Razor Pages)을 바탕으로(MVC에서 사용하고 싶어서) 이해하기 어려워 동작 검증을 했다.
환경 등
  • Mac에서 dotnet 5.x를 이용하고 있습니다.(다른 환경에서도 3.1.x가 움직일 것 같다)
  • 공정 생성
    dotnet new mvc --auth Individual -o identity_mvc_test
    cd identity_mvc_test
    
    현재dotnew 명령으로 생성된 인증 템플릿은 [Individual]만 있지만 사용자 정의로 설정하면 다른 인증도 대응할 수 있습니다.
    옵션을 지정하지 않으면 sqlite를 사용합니다. -uld 옵션을 설정하면 localDB(간이 SQL)가 생성됩니다.
    다양한 인증용 DB 생성
    프로젝트 생성 시 어떤 옵션도 지정하지 않으면, sqlite를 기반으로 DB를 만들 수 있습니다.
    생성된 파일 그룹을 보면 앱을 이전한 적이 없는데.db를 만들었어요.

    안쪽을 살짝 확인을 해볼게요.
    sqlite에 로그인해서 표를 표시합니다.아이덴티티에 사용되는 다양한 테이블을 제작했다.
    sqlite3 app.db
    
    sqlite> .table
    AspNetRoleClaims       AspNetUserLogins       AspNetUsers          
    AspNetRoles            AspNetUserRoles        __EFMigrationsHistory
    AspNetUserClaims       AspNetUserTokens     
    
    sqlite에서 종료합니다.exit를 입력합니다.
    동작 확인
    dotnet run
    
    첫 페이지
    에서 실행 페이지에 액세스할 수 있습니다.기준은 http://localhost:5001이다.
    MVC 템플릿에는 Register, Login 버튼이 추가되었습니다.

    SSL/TLS를 사용할 때는 dotnet dev-certs https-trust에 인증서를 설치해야 합니다.
    Register 페이지
    그럼 Register 링크를 클릭해 보세요.등록 페이지가 표시됩니다.
    등록해 주세요.

    로그인 후 Email(허구) 확인이 필요합니다. 클릭하십시오.
    실제 응용 프로그램은 확인 메일을 보내고 보내는 메일의 확인 링크를 클릭한다.
    sqlite의 AspNetUsers에 데이터가 기록되어 있는지 확인하십시오.

    페이지 정보
    그러면 Login 링크를 클릭합니다.그러면 로그인 화면이 나타납니다. 방금 등록한 ID와 PW로 로그인하세요.

    암호를 잊어버릴 수 있는 링크가 생성되었는지 확인할 수 있습니다.
    로그인 후 페이지
    로그인 후 오른쪽 상단의 머리에 로그인 사용자 이름이 표시되고 Login 링크는 Logo out 링크가 됩니다.

    아이디를 클릭하면 이른바 마이페이지의 내용이 표시되고 내용의 변경과 확인, MFA 등의 초기 형태도 이뤄진다.

    일시 총결산
    만약에 Identity와 템플릿을 사용한다면 현대 웹 서비스에 필요한 인증, 인증 기능의 기본 부분은 초기 형태로 생성될 것이다.다른 한편, 각종 기능(사용자 정의)을 이해하고 능숙하게 사용하기 위해서는 일정한 지식과 습관이 필요하다.우선 모형의 전선을 바라보면서 조사가 잘 안 되는 부분을 하나하나 살펴보는 것이 좋다.

    좋은 웹페이지 즐겨찾기