전체(196)
-
[ASP.NET Core] Key Vault 사용
Azure Key Valut for ASP.NET Core 3.1 ASP.NET Core 프로젝트에서는 DB연결 문자열이나 중요 정보들을 주로 appsettings.json에 저장합니다. 하지만 소스코드를 저장소에 업로드 할 때 appsettings.json에 포함된 민감한 정보도 업로드 되기 때문에 보안 상 취약한 구조를 가집니다. Secret Manager를 사용하면 민감한 정보를 프로젝트가 아닌 운영체제에 저장되게 할 수 있습니다. 하지만 설정과정도 복잡하고 개발자 PC 마다 따로 설정을 해야하는 번거로움이 있습니다. 이 포스트에서는 Azure Key Vault를 사용하여 민감한 정보를 프로젝트나 개인의 PC가 아니라 Azure 클라우드 저장소에서 저장하는 방법을 소개합니다. Azure Key Va..
2020.05.21 -
[ASP.NET Core] 2차 인증을 위한 QR코드 생성하기
ASP.NET Core는 2차 인증기 앱을 지원합니다. TOTP(Time-based One-time Password Algorithm, 시간 기반 일회성 비밀번호 알고리즘)을 사용하는 2차 인증기 앱들은 2차 인증을 위해 사용되는 수단 중 하나입니다. TOTP 2차인증 앱을 사용하는 방법은 SMS나 이메일을 통한 2차인증 보다 선호되는 방법입니다. 사용자가 ID와 비밀번호를 입력한 후 2차인증 앱에서 생성된 6~8자리의 코드를 입력하는 방법이죠. 이 경우 사용자의 스마트폰에 인증기 앱이 설치되어 있기 마련입니다. ASP.NET Core 웹앱 템플릿은 2차 인증기를 지원하지만, QR코드 통한 인증방법은 기본적으로 제공하지 않습니다. QRCode를 통한 인증방법은 사용자가 쉽게 2차인증을 완료하도록 도와줍니..
2020.05.07 -
[Web] Push Notification 구현
W3C에서 제정한 Service Worker 표준을 통해 웹사이트에서도 Push Notification을 지원 할 수 있습니다. 웹사이트에 접속하지 않아도 브라우저가 실행 중이라면 Push Notification이 사용자에게 노출됩니다. Push Notification은 웹표준으로 IE를 제외한 Chrome, Firefox, Edge, Safari 등 최신 브라우저와 모바일 브라우저에서 지원하는 기술입니다. 여기에서는 ASP.NET MVC 5 프로젝트와 Google Firebase Messaging을 사용하여 Push Notification API 구현에 대해 정리하였습니다. 사전 준비 Push Notification은 2015년 출시된 크롬 42버전부터 지원하므로 그 이상의 버전이 필요합니다. 이 포스..
2020.04.27 -
[IIS] 무료 TLS 인증서 발급 및 HTTPS 설치
Let's Encrypt를 통해 무료로 HTTPS를 위한 TLS인증서를 발급받을 수 있습니다. 발급 자동화를 위해 ACME 프로토콜을 제공하고 있으며, 이 프로토콜을 사용하는 수많은 자동화 도구를 제공하므로 어떤 환경이든지 손쉽게 HTTPS를 설정 할 수 있습니다. 여기에서는 Windows Server 2012 환경에서 win-acme 자동화 도구를 사용하여 발급부터 재발급까지 자동화하는 과정을 소개합니다. 참고로 Let's Encrypt에서 인증서를 발급받으려면 도메인이 연결된 웹사이트가 필요합니다. 도메인이 없거나 IIS 웹서버에 대한 관리 권한이 없다면 작업을 진행 할 수 없습니다. win-acme 요구사항 공식적으로 Windows Server 2012 (IIS 8.0 이상)을 지원합니다. Wind..
2020.04.23 -
[EF Core] ASP.NET Core 프로젝트에서 Maria DB 사용
이 포스트는 ASP.NET Core 3.0 프로젝트에서 EF Core를 사용하여 Maria DB와 연동하는 방법에 대해 소개합니다. 참고: Maria DB란? MySQL은 오라클에 인수된 후 상업적인 이용에 대해서는 유료로 제공되고 있습니다. MySQL의 핵심 개발자였던 마이클 몬티 와이드니어스(Michael Monty Widenius)는 이에 반발하여 기존 MySQL 소스를 기반으로 Maria DB를 개발하여 오픈소스(GPL v2)로 제공하고 있습니다. Maria DB는 MySQL과 동일한 소스코드를 바탕으로 하므로 구조나 사용방법, API들이 상당 부분 호환됩니다. MySQL이나 MariaDB는 과거와 다르게 상당부분 안정성이 검증된 상태이며 삼성, CGV, 카카오 등 수많은 기업들에 의해 사용되고 ..
2020.04.21 -
[Blazor] ASP.NET Core Blazor 소개
Blazor는 .NET을 사용하여 Client-side 웹 UI를 개발할 수 있는 프레임워크로 다음과 같은 특징을 가집니다. Javascript 대신 C#을 사용하여 동적인 UI를 개발할 수 있음 Client-side와 Server-side 로직을 .NET으로 공유할 수 있음 모바일을 포함한 다양한 브라우저를 지원하기 위해 HTML과 CSS를 통해 화면을 렌더링 Client-Side 웹 개발을 JavaScript가 아니라 .NET으로 개발하는 것은 다음의 이점을 제공합니다. JavaScript가 아닌 생산성 높은 C#으로 개발할 수 있음 .NET 라이브러리를 사용할 수 있음 서버와 클라이언트의 로직을 공유할 수 있음 .NET의 수준높은 보안, 안정성, 성능을 제공 Windows, Linux, macOS에..
2020.03.25