다음을 통해 공유


7부: 멤버 자격 및 권한 부여

작성자: Jon Galloway

MVC Music Store는 웹 개발을 위해 ASP.NET MVC 및 Visual Studio를 사용하는 방법을 단계별로 소개하고 설명하는 자습서 애플리케이션입니다.

MVC Music Store는 온라인으로 음악 앨범을 판매하고 기본 사이트 관리, 사용자 로그인 및 쇼핑 카트 기능을 구현하는 간단한 샘플 저장소 구현입니다.

이 자습서 시리즈에서는 ASP.NET MVC Music Store 샘플 애플리케이션을 빌드하기 위해 수행되는 모든 단계를 자세히 설명합니다. 7부에서는 멤버 자격 및 권한 부여를 다룹니다.

Microsoft Store 관리자 컨트롤러는 현재 사이트를 방문하는 모든 사용자가 액세스할 수 있습니다. 사이트 관리자에 대한 사용 권한을 제한하도록 변경해 보겠습니다.

AccountController 및 뷰 추가

전체 ASP.NET MVC 3 웹 애플리케이션 템플릿과 ASP.NET MVC 3 빈 웹 애플리케이션 템플릿 간의 한 가지 차이점은 빈 템플릿에 계정 컨트롤러가 포함되어 있지 않다는 것입니다. 전체 ASP.NET MVC 3 웹 애플리케이션 템플릿에서 만든 새 ASP.NET MVC 애플리케이션에서 몇 가지 파일을 복사하여 계정 컨트롤러를 추가합니다.

전체 ASP.NET MVC 3 웹 애플리케이션 템플릿을 사용하여 새 ASP.NET MVC 애플리케이션을 만들고 프로젝트의 동일한 디렉터리에 다음 파일을 복사합니다.

  1. Controllers 디렉터리에 AccountController.cs 복사
  2. Models 디렉터리에서 AccountModels 복사
  3. Views 디렉터리 내에 계정 디렉터리를 만들고 에서 네 개의 뷰를 모두 복사합니다.

컨트롤러 및 모델 클래스의 네임스페이스를 변경하여 MvcMusicStore로 시작합니다. AccountController 클래스는 MvcMusicStore.Controllers 네임스페이스를 사용해야 하며 AccountModels 클래스는 MvcMusicStore.Models 네임스페이스를 사용해야 합니다.

참고: 이러한 파일은 자습서의 시작 부분에서 사이트 디자인 파일을 복사한 MvcMusicStore-Assets.zip 다운로드에서도 사용할 수 있습니다. 멤버 자격 파일은 코드 디렉터리에 있습니다.

업데이트된 솔루션은 다음과 같습니다.

계정 컨트롤러 점 C S, 계정 모델 점 CS 및 / 계정 / 폴더의 파일이 강조 표시된 솔루션 탐색기 창의 스크린샷.

ASP.NET 구성 사이트를 사용하여 관리 사용자 추가

웹 사이트에서 권한 부여가 필요하기 전에 액세스 권한이 있는 사용자를 만들어야 합니다. 사용자를 만드는 가장 쉬운 방법은 기본 제공 ASP.NET 구성 웹 사이트를 사용하는 것입니다.

솔루션 탐색기 아이콘을 클릭하여 ASP.NET 구성 웹 사이트를 시작합니다.

지구와 망치 아이콘이 빨간색 사각형으로 강조 표시된 솔루션 탐색기 창의 스크린샷

그러면 구성 웹 사이트가 시작됩니다. 홈 화면의 보안 탭을 클릭한 다음 화면 가운데에 있는 "역할 사용" 링크를 클릭합니다.

역할 섹션과 빨간색 사각형에 강조 표시된 역할 사용 링크를 보여 주는 구성 웹 사이트의 스크린샷.

"역할 만들기 또는 관리" 링크를 클릭합니다.

역할 섹션과 빨간색 사각형에 강조 표시된 역할 만들기 또는 관리 링크를 보여 주는 구성 웹 사이트의 스크린샷.

역할 이름으로 "관리자"를 입력하고 역할 추가 단추를 누릅니다.

새 역할 이름 필드의 관리자를 보여 주는 구성 창의 스크린샷과 빨간색 화살표가 강조 표시되어 있습니다.

뒤로 단추를 클릭한 다음 왼쪽에 있는 사용자 만들기 링크를 클릭합니다.

사용자 섹션과 빨간색 사각형으로 강조 표시된 사용자 만들기 링크를 보여 주는 구성 웹 사이트의 스크린샷.

다음 정보를 사용하여 왼쪽의 사용자 정보 필드를 채웁니다.

필드
사용자 이름 관리자
암호 password123!
암호 확인 password123!
전자 메일 (모든 전자 메일 주소가 작동)
보안 질문 (원하는 대로)
보안 대답 (원하는 대로)

참고: 물론 원하는 암호를 사용할 수 있습니다. 기본 암호 보안 설정에는 7자 길이이고 영숫자가 아닌 문자가 하나 포함된 암호가 필요합니다.

이 사용자의 관리자 역할을 선택하고 사용자 만들기 단추를 클릭합니다.

관리자 역할 확인란이 선택되고 빨간색 사각형으로 강조 표시된 역할 섹션을 보여 주는 구성 웹 사이트의 스크린샷.

이 시점에서 사용자가 성공적으로 만들어졌음을 나타내는 메시지가 표시됩니다.

사용자 계정 만들기가 성공적으로 완료되었다는 메시지를 보여 주는 구성 웹 사이트의 스크린샷.

이제 브라우저 창을 닫을 수 있습니다.

역할 기반 권한 부여

이제 [Authorize] 특성을 사용하여 StoreManagerController에 대한 액세스를 제한할 수 있으며, 클래스의 컨트롤러 작업에 액세스하려면 사용자가 관리자 역할에 있어야 한다고 지정할 수 있습니다.

[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
{
    // Controller code here
}

참고: [Authorize] 특성은 컨트롤러 클래스 수준뿐만 아니라 특정 작업 메서드에도 배치할 수 있습니다.

이제 /StoreManager로 이동하면 로그온 대화 상자가 표시됩니다.

사용자 이름 및 암호 텍스트 필드가 있는 로그온 대화 상자를 보여 주는 음악 저장소 웹 페이지의 스크린샷

새 관리자 계정으로 로그온한 후에는 이전과 같이 앨범 편집 화면으로 갈 수 있습니다.