전체 글
ASP.NET Core - 1. 요청 파이프라인(Request Pipeline)과 Service, Middleware component등 ASP.NET Core Platform에 관한 전반적인 이해
ASP.NET Core는 MVC나 Blazor와 같은 기능을 통해 Web Application을 개발하기 위한 Platform입니다. 이번에는 ASP.NET Core에 관한 특징 및 구조 그리고 HTTP 요청을 처리하는 요청 Pipeline에 대해 알아보고 customize 할 수 있는 방법에 대해서도 살펴볼 것입니다. 1. 시작전 준비사항 우선 아래 명령을 통해 최소한의 ASP.NET Core Project를 생성하도록 합니다. 예제에서 Project는 MyWebApp으로 지정하였습니다. dotnet new globaljson --sdk-version 6.0.400 --output MyWebApp dotnet new web --no-https --output MyWebApp --framework net..
[ASP.NET Core] Shopping mall project - 보안과 배포
ASP.NET Core는 ASP.NET Core platform과 각각의 개별 Application에 정교하게 통한된 Identity system을 통해서 인증과 권한 부여에 관한 기능을 제공하고 있습니다. 이러한 인증 기능을 통해 Admin이라는 관리 사용자에 대한 보안설정을 project에 적용함으로써 인증된 관리 사용자 만이 관리자 기능으로 접근할 수 있도록 처리할 것입니다. 물론 ASP.NET Core Identity는 그것 자체로 사용자에 대한 다양한 인증 및 권한에 대한 기능을 제공하고 있는데 이에 대한 추가적인 내용은 추후에도 알아볼 것입니다. 1. Identity Database 생성 ASP.NET Identity system은 유연한 구성 및 확장이 가능하며 사용자 data가 저장되는 방..
[ASP.NET Core] Shopping mall project - 관리자기능
이전에 만든 project에서는 사용자가 제품을 선택하고 해당 제품을 장바구니에 담은 뒤 자신의 정보를 입력하여 주문을 완료하는 것까지의 기능을 구현했습니다. 그러나 지속적인 shopping mall의 관리를 위해서는 사용자로부터의 주문과 제품을 관리할 수 있는 관리자의 기능도 필요할 것입니다. 관리자의 기능은 Blazor를 사용해 구현할 것입니다. Blazor는 Client-Side인 Javascript Code를 ASP.NET Core에 의해 실행되는 Server-Side Code와 결합하고 persistent HTTP 연결에 의하여 연결됩니다. 참고로 해당 글에서는 Server에서 Code를 실행하는 Blazor Server를 사용할 것입니다. 또 다른 것으로 Blazor WebAssembly가 있..
[ASP.NET Core] Shopping mall project - 주문완료하기
아래 글에서는 [.NET/ASP.NET Core] - [ASP.NET Core] Shopping mall project - Category탐색과 장바구니 구현 [ASP.NET Core] Shopping mall project - Category탐색과 장바구니 구현 1. Category 탐색 기능 이전 예제 Project의 제품 표시에는 단순히 제품만 나열할 뿐이지만 제품의 category별로 해당 제품을 살펴볼 수 있도록 하면 사용자에게 좀 더 편리함을 제공해 줄 수 있을 것입 lab.cliel.com 간단히 Cart기능을 구현해 보았는데 계속 이어서 고객이 주문을 완료하기 위한 처리를 추가해 보고자 합니다. 1. Service를 통한 Cart Model의 보완 이전 글에서 Cart Model을 만들어 ..
[ASP.NET Core] Shopping mall project - Category탐색과 장바구니 구현
1. Category 탐색 기능 이전 예제 Project의 제품 표시에는 단순히 제품만 나열할 뿐이지만 제품의 category별로 해당 제품을 살펴볼 수 있도록 하면 사용자에게 좀 더 편리함을 제공해 줄 수 있을 것입니다. (1) Product List filtering 이를 구현하기 위해 Models->ViewModels folder에서 ProductsListViewModel.cs를 수정하여 아래와 같이 현재 선택된 CurrentCategory속성을 추가합니다. public class ProductsListViewModel { public IEnumerable Products { get; set; } = Enumerable.Empty(); public PageInfo PageInfo { get; set..
무차별 대입 공격 방어 도구 (Brute Force Attack Depend Tool) - Ban_Server
해당 Project는 대략 2년전 GitHub - hoon37/Ban_REMOTE_MSSQL: Windows Server 에서 공개한 version을 다소 변경한 것으로 기본 동작개념이나 사용방법은 거의 동일하며 아래와 같은 사항이 반영되었습니다. 기반 platform이 .NET Framework에서 .NET6로 바뀌었습니다. 설정file이 ini에서 json으로 바뀌었습니다. 약간의 source code개선이 있습니다. Repository가 cliel/Ban_Server: 무차별 대입 공격 방어(Brute Force Attack Defend) (github.com) (https://github.com/cliel/Ban_Server.git)로 변경되었습니다. Remote Desktop의 경우 원격 por..
[ASP.NET Core] Shopping mall project 시작하기
기본적인 ASP.NET Core Project를 시작하면 대부분 필요한 기본적인 모든 설정이 포함된 형태의 Project가 생성됩니다. 다만 그렇게 하면 모르고 지나칠 수 있는 부분이 있기에 Computer 부품 판매를 위한 Mall을 만든다는 가정하에 가능한 한 아주 작은 형태의 Project를 먼저 생성하고 하나씩 살을 붙이는 방법으로 진행하면서 ASP.NET Core의 전체적인 구조를 파악해 보고자 합니다. 1. Project 생성 먼저 아래 명령을 통해 ASP.NET Core Web Project를 생성합니다. dotnet new globaljson --sdk-version 6.0.400 --output MyWebApp/MyWebApp dotnet new web --output MyWebApp/M..
[ASP.NET Core] 초간단 Application 만들어 보기
이전 글에서 ASP.NET Core를 통해 Application을 개발하기 위한 준비를 마쳤으므로 간단한 데이터 입력 응용프로그램을 생성해 보고자 합니다. 다소 빠르게 진행하는 대신 일부 설명이 생략될 수 있지만 추후에 모두 상세하게 다시 다룰 것입니다. 1. 식당 예약 프로그램 손님이 인터넷을 통해 언제, 몇 명의 인원이 방문할지를 결정할 수 있는 식당 예약 프로그램을 간단히 만들어볼 것입니다. 2. 프로젝트 생성 (1) 프로젝트 준비 ASP.NET Core MVC 템플릿을 통해 'RestaurantReservation'이라는 새로운 프로젝트를 생성합니다. 프로젝트가 생성되고 나면 필수적인 부분에만 집중하기 위해 HomeController.cs의 내용을 아래와 같이 간략하게 수정합니다. using Mi..