ASP.NET MVC Identity란?
ASP.NET MVC Identity는 ASP.NET MVC 에서 계정관리를 위한 프레임워크입니다.
사용자 등록, 로그인, 로그아웃, 암호 재설정, 역할 및 권한 관리 등 다양한 기능을 제공합니다.
간단한 설정 및 클릭 몇번으로, 작업이 완료됩니다.
Identity는 Microsoft의 EntityFramework로 이루어집니다.
EntityFramework는 훌륭한 기술입니다. 다만 약간의 학습 및 적응이 좀 필요합니다.
저는 처음에 이 기능을 사용하는 것을 꺼려왔습니다. 하지만 익숙해 지면 아래와 같은 이점을 얻을 수 있습니다.
1.개발시간 단축
2. 보안강화
저는 개발시간 단축이라는 매력에 이끌렸고, 보안강화는 그냥 Microsoft를 신뢰합니다. 이런 느낌!
Asp.net Core MVC Identity에 대한 정보는 인터넷에 무궁무진합니다.
개발환경 : Windows 11 Pro, VisualStudio 2022 Community, Sqlserver Express 2022
https://visualstudio.microsoft.com/vs/
Visual Studio 2022 | Download for free
Write code using code completions, debugging, testing, Git management, and cloud deployments with Visual Studio. Download Community for free today.
visualstudio.microsoft.com
https://www.microsoft.com/en-us/download/details.aspx?id=104781
1.Visual studio 2022에서 프로젝트를 생성합니다.(Create a new project)




(Optional) Configure for HTTPS

프로젝트 생성이 완료되었습니다.
2. SQL Server(MS-SQL) 데이터베이스 생성.


3. Database 연결 문자열을 만듭니다.


4. SQLServer connectionstrings 설정(appsettings.json)

Server=Server name;Database=Database name;User Id=Id;Password=Password;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=true
준비를 마쳤습니다.
이제 Identity를 시작하겠습니다.
5. Identity templates 생성하기



이제 Visual studio가 Templates 준비를 시작합니다.


이제 선택한 Templates를 생성합니다.

생성이 완료되면 Identity 폴더 내에 View파일(*.cshtml)들이 생성된 것을 확인하실 수 있습니다.

초기

생성 후

6. DB(tables) 생성

이렇게 메뉴를 실행하면, Visual studio 하단에 Commander 창이 표시됩니다.

Update-database 라는 명령어를 입력합니다.

그러면 Visual studio에서 DB를 연결 후 Table생성을 시작합니다.
Sql Server Management Studio로 가서 Databse를 확인하겠습니다.



Tables 안에 아무것도 없었는데 Tables가 생성되었습니다.
Visual Studio에서 Data폴더 안에 Migrations 폴더에 가시면 생성을 위해 실행된 Script에 대한 정보가 만들어져 있음을 확인하실 수 있습니다.

7. 실행 후 확인

프로젝트 생성 시 HTTPS 옵션을 설정 시 HTTPS 로 실행이 가능하며, 옵션 미설정 시 버튼이 다르게 나올 수 있습니다.

모두 완료하였습니다.
아래는 생성된 Identity 화면들의 예시들 중 일부입니다.
감사합니다.




이 외에도 더 많은 페이지가 생성되어 있습니다. Identity를 만들고, 확인 해보세요.
다음에는 자동생성된 회원정보 Tables 및 pages에 추가로 필들 넣어 Customizing 하는 것을 진행하겠습니다.
'asp.net MVC' 카테고리의 다른 글
| [Solution]HTTP Error 401.0 - Unauthorized (0) | 2023.09.17 |
|---|---|
| Quill Editor 사용하기 (0) | 2023.08.24 |
| 잠재적 위험이 있는 Request.Form 값을 발견했습니다. (0) | 2023.08.15 |