36 posts in total

Asp Net-iis

Posts tagged

HtmlHelper.ActionLink()에 이미지 삽입하기

by Justin Yoo · 3 min read

HtmlHelper 클라스는 상당히 많은 익스텐션 메소드들을 제공하는데, 그중 하나가 ActionLink()이다. 이 ActionLink() 메소드도 받아들이는 파라미터의 종류와 갯수에 따라 굉장히 여러 가지 종류가 있는데, 가장 대표적인 것은 아래와 같다. 이것은 지정된 액션을 하이퍼 링크로 하고, <a>...</a> 사이의 텍스트로는 linkText를 갖는 하나의 완결된 HTML 앵커 태그를 생성한다. 따라서, 위와 같이 작성한 Razor 스크립트는 실제로 HTML 렌더 ...

HtmlHelper 객체 유닛 테스트

by Justin Yoo · 4 min read

ASP.NET MVC 앱을 개발하다보면 HtmlHelper 객체를 Razor 스크립트 안에서 반드시 쓰게 되어 있다. 그런데, 이것은 기본적으로 웹서버 파이프라인 안에서 작동하는 것이다보니 유닛테스트를 하기가 쉽지 않다. 하지만 항상 길은 있는 법. Fake 객체를 만들어서 유닛테스트에 사용할 수 있다. Moq 라이브러리를 사용하여 테스트하기 이미 ASP.NET MVC 프레임워크는 오픈소스로 공개가 되어 있으니, 소스 코드 페이지에 직접 가서 확인을 해보면, MS는 내부적으로 Moq 이라는 목킹 ...

T4MVC 패키지 및 확장 기능 소개

by Justin Yoo · 1 min read

ASP.NET MVC 웹 앱을 개발하다보면 Razor 스크립트에서 흔히 볼 수 있는 코드는 아래와 같은 것들이 있다. 딱히 문제가 될 것은 없다. 하지만, ActionName 또는 ControllerName 파라미터를 string 값으로 직접 하드코딩해야 하는 부분에서 오타가 난다면 에러가 나지 않을까? 이런 점에 착안해서 strongly-typed 콘트롤러명, 액션명을 아예 부여하면 어떨까 하는 아이디어에서 나온 NuGet 라이브러리 패키지가 바로 T4MVC이다. 이 패키지와 더불어 VS 확장 ...

닷넷 MVC 앱에서 Unauthorized와 Forbidden 구분하여 에러 페이지 전송하기

by Justin Yoo · 3 min read

ASP.NET MVC 앱을 개발하다보면 자주 쓰는 속성 클라스들이 있는데, 그들 중 하나가 AuthorizeAttribute 클라스이다. 이 속성 클라스가 하는 일은 해당 콘트롤러 혹은 액션으로 리퀘스트가 들어올 때 사용자가 이미 웹사이트에 로그인 했는지 아닌지, 권한은 충분한지 아닌지를 체크하고 만약 로그인하지 않았거나, 권한이 충분하지 않다면 401 Unauthorized 에러 코드를 반환한다. 사실 로그인을 실패했을 때 반환해야 하는 에러 코드(401 Unauthorized)와 권한이 충분하 ...

JSON Web Token(JWT)으로 Session 객체를 대체할 수 있을까?

by Justin Yoo · 4 min read

JSON Web Token(JWT)은 앱 개발에 있어서 서버와 정보를 주고받기 위해 쓰이는 하나의 공통 인증 규약으로 IEFT 네트워킹 그룹에서 그 규약을 지정하고 관리하고 있다. 발음은 jot좉으로 한다(...) 다른 인증 토큰들과 큰 차이점은 없지만, JSON 객체를 생성하고 그걸 암호화 시킨다는 점이 뚜렷한 차별점이라고 할 수 있겠다. 보통 이 JWT를 이용해서 서버와 정보를 주고 받을 때에는 HTTP 리퀘스트 헤더에 이 토큰을 넣어서 서버에서 헤더를 분석한 후 처리를 진행한다. 따라서, 헤 ...

Web.config/App.config 설정값 문자열을 대소문자 구분 없는 enum 혹은 List 형태로 손쉽게 변환하기

by Justin Yoo · 4 min read

닷넷으로 개발을 하다 보면 항상 신경써야 하는 것이 바로 Web.config 또는 App.config이다. 이 설정 파일 안에는 개발자 임의로 적용 가능한 커스텀 섹션이 있는데, 보통 이 섹션은 System.Configuration.ConfigurationSection을 상속받아 strongly-typed class로 만들어서 사용한다. 아래와 같은 Web.config 내용이 있다고 가정해 보자. 위의 converterSettings라는 항목은 기본 Web.config안에서 정의한 적이 없기 때 ...