월간 보관물: 2014 4월

ASP.NET Identity 사용자 모델 확장

5/15/2014 추가 Microsoft ASP.NET Identity EntityFramework 패키지가 2.0.1 버전으로 업데이트 되었습니다. IdentityUser 클래스에 이메일 주소가 포함되었고 UserValidator 클래스를 사용해 이메일 주소 중복 여부를 검사할 수 있습니다.

사용자 모델

Microsoft ASP.NET Identity EntityFramework 패키지는 응용프로그램 사용자를 나타내는 IdentityUser 모델 클래스를 제공합니다. 최근의 ASP.NET 프로젝트 템플릿은 이 클래스와 EntityFramework을 사용해 개별 계정 관리를 구현합니다. 다음은 IdentityUser 클래스 정의입니다.

using Microsoft.AspNet.Identity;
using System;
using System.Collections.Generic;

namespace Microsoft.AspNet.Identity.EntityFramework
{
    public class IdentityUser : IUser
    {
        public IdentityUser();
        public IdentityUser(string userName);

        public virtual ICollection<IdentityUserClaim> Claims { get; }
        public virtual string Id { get; set; }
        public virtual ICollection<IdentityUserLogin> Logins { get; }
        public virtual string PasswordHash { get; set; }
        public virtual ICollection<IdentityUserRole> Roles { get; }
        public virtual string SecurityStamp { get; set; }
        public virtual string UserName { get; set; }
    }
}

제가 아쉬운 것은 모델에 이메일 주소가 포함되어 있지 않다는 점입니다. 사용자 계정 정보에 이메일 주소 속성을 추가하려면 조금 귀찮은 작업을 해줘야합니다. 이 포스트에서는 SPA(Single-Page Application) 프로젝트를 기준으로 사용자 모델을 확장하는 방법을 설명합니다. 계속 읽기

Advertisements

ASP.NET에서 JSON 정적 컨텐트 노출

현재 ASP.NET 웹 응용프로그램은 기본적으로 확장자가 json인 파일에 대한 MIME 맵이 설정되어있지 않습니다. 그래서 브라우저에서 JSON 정적 컨텐트에 접근하려하면 404.3 상태가 반환됩니다.

HTTP Error 404.3 - Not Found

The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

이 문제는 웹 응용프로그램의 web.config 파일에 아래처럼 JSON 정적 컨텐트에 대한 설정을 추가하면 해결됩니다.

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json"/>
  </staticContent>
</system.webServer>

IoC Container 소개 세미나 슬라이드 및 데모 코드

Introduction to IoC Container

Dependency Injection 등의 IoC Container는 현대적 소프트웨어 설계에 아주 중요한 요소입니다. TDD, BDD를 비롯한 단위 테스트를 기반으로한 개발 프로세스는 IoC Container 없이 상상하기 힘들며 IoC Container를 사용해 구성요소의 결합도를 낮추고 재사용성을 높일 수 있습니다. 누군가 저에게 요즘의 프로그래밍 환경에서 가장 우선순위가 높다고 생각되는 설계 기법 하나를 선택하라면 주저 없이 IoC Container를 꼽겠습니다.

백수가 되기 얼마 전 회사 팀에서 발표한 IoC Container 세미나 자료를 공유합니다.

dependency_injection

계속 읽기