이 설명서는 보관되지만 유지 되지 않습니다.

코드 샘플: 페더레이션 로그아웃이 포함된 ASP.NET MVC 4

게시: 2013년 2월

업데이트 날짜: 2015년 6월

적용 대상: Azure

이 샘플에서는 Microsoft Azure Active Directory 액세스 제어(액세스 제어 서비스 또는 ACS라고도 함)를 ASP.NET MVC 4 응용 프로그램과 통합하는 방법을 보여 줍니다. ACS 통합을 통해 ASP.NET MVC 4 응용 프로그램에서 지원되는 ID 공급자에 대해 Single Sign-On 및 Single Sign-Out 기능을 사용할 수 있습니다.

이 샘플 코드는 Microsoft Azure Active Directory ACS(액세스 제어 서비스) 코드 샘플 패키지의 ASPNETSimpleMVC4(C#\Websites\ASPNETSimpleMVC4) 하위 디렉터리에 있습니다.

ACS의 Single Sign-Out 기능에 대한 자세한 내용은 SSO(Single Sign-Out)을 참조하세요.

이 샘플을 실행하는 데 필요한 항목은 다음과 같습니다.

자세한 내용은 ACS 필수 구성 요소를 참조하세요.

ACS 관리 포털 또는 ACS 관리 서비스를 사용하여 이 샘플을 구성할 수 있습니다. 이 항목에서는 두 옵션을 모두 설명합니다.

  • 옵션 1: ACS 관리 포털 사용

  • 옵션 2: ACS 관리 서비스 사용

  1. Microsoft Azure 관리 포털(https://manage.WindowsAzure.com)로 이동하여 로그인한 다음 Active Directory를 클릭합니다. (문제 해결 팁: "Active Directory" 항목이 없거나 사용할 수 없음)

  2. 액세스 제어 네임스페이스를 만들려면 새로 만들기, 앱 서비스, Access Control, 빠른 생성을 차례로 클릭합니다. 또는 새로 만들기를 클릭하기 전에 액세스 제어 네임스페이스를 클릭합니다.

  3. 액세스 제어 네임스페이스를 관리하려면 네임스페이스를 선택한 다음 관리를 클릭합니다. 또는 액세스 제어 네임스페이스를 클릭하고 네임스페이스를 선택한 다음 관리를 클릭합니다.

    ACS 관리 포털이 열립니다.

  4. 응용 프로그램 사용자가 Google 또는 Yahoo! ID를 사용하여 로그인할 수 있도록 하려면 ID 공급자를 클릭하고 추가를 클릭한 후 GoogleYahoo!를 추가합니다.

    자세한 내용은 Google을 ACS ID 공급자로 구성Yahoo!를 ACS ID 공급자로 구성를 참조하세요. Windows Live ID(Microsoft 계정)는 기본적으로 추가되며 삭제할 수 없습니다.

  5. ACS에 응용 프로그램을 등록하려면 신뢰 당사자 응용 프로그램을 클릭하고 추가를 클릭한 후 양식에 다음 정보를 입력하고 저장을 클릭합니다.

    • 이름 필드에 ASPNETMVC4Sample을 입력합니다.

    • 영역 필드에 http://localhost:65000/을 입력합니다.

    • 반환 URL 필드에 http://localhost:65000/을 입력합니다.

    • 오류 URL 필드에 http://localhost:65000/Error를 입력합니다.

    • 토큰 형식 필드에서 SAML 2.0을 선택합니다.

    • 토큰 서명 필드에서 서비스 네임스페이스 인증서(표준) 사용을 선택합니다.



    신뢰 당사자 응용 프로그램 추가 페이지의 필드와 값에 대한 자세한 내용은 신뢰 당사자 응용 프로그램을 참조하세요.

  6. ID 공급자가 발급한 모든 클레임을 신뢰 당사자 응용 프로그램에 보내는 규칙 그룹을 만들려면 규칙 그룹, ACS Simple MVC4 Sample에 대한 기본 규칙 그룹, 생성, 저장을 차례로 클릭합니다.

    ACS 포털의 규칙 그룹 섹션에서는 ACS가 응용 프로그램에 보내는 클레임을 결정하는 규칙을 만듭니다. 생성된 모든 규칙을 선택하여, ID 공급자가 발급한 모든 클레임을 신뢰 당사자 응용 프로그램에 보내도록 ACS를 구성합니다.

이제 샘플이 구성되었으며 Visual Studio 2012에서 샘플을 실행할 준비가 되었습니다.

Visual Studio 샘플 솔루션에는 ACS 관리 서비스와 Common 클래스 라이브러리에 정의된 공용 도우미를 사용하는 ConfigureSample이라는 콘솔 응용 프로그램이 포함되어 있습니다. 이 응용 프로그램을 사용하여 이 샘플에 사용되도록 액세스 제어 네임스페이스를 구성할 수 있습니다.

  1. 샘플을 구성하려면 SamplesConfiguration.cs(acs\Management\ManagementService\Common)를 엽니다. Common 클래스 라이브러리에 있는 SamplesConfiguration 클래스의 자리 표시자를 액세스 제어 네임스페이스에 대한 정보로 대체합니다. 이 정보는 ACS 관리 포털에 있습니다.

    ACS 관리 포털로 이동하려면 Microsoft Azure 관리 포털(https://manage.WindowsAzure.com)로 이동하여 로그인한 다음 Active Directory를 클릭합니다. (문제 해결 팁: "Active Directory" 항목이 없거나 사용할 수 없음) 액세스 제어 네임스페이스를 관리하려면 네임스페이스를 선택한 다음 관리를 클릭합니다. 또는 액세스 제어 네임스페이스를 클릭하고 네임스페이스를 선택한 다음 관리를 클릭합니다.

    • ServiceNamespace - 액세스 제어 네임스페이스의 이름을 입력합니다.

    • ManagementServiceIdentityName - ACS 관리 서비스 계정의 이름을 입력합니다. 기본값은 ManagementClient입니다.

      관리 서비스 계정 이름을 찾으려면 ACS 관리 포털에서 관리 서비스를 클릭합니다. 계정은 관리 서비스 계정 아래에 이름별로 나열됩니다.

    • ManagementServiceIdentityKey - 관리 서비스 계정의 암호를 입력합니다.

      관리 서비스 계정 암호를 찾으려면 ACS 관리 포털에서 관리 서비스를 클릭합니다. 관리 서비스 계정의 이름을 클릭한 후 자격 증명 아래에서 암호를 클릭합니다. 암호가 암호 필드에 표시됩니다. 암호를 복사하려면 암호 표시를 클릭합니다.

  2. Visual Studio에서 ConfigureSample 응용 프로그램을 실행합니다. 응용 프로그램에서 SamplesConfiguration.cs의 데이터를 사용하여 샘플을 실행하도록 ACS를 구성합니다.

  1. Visual Studio 2012에서 샘플의 솔루션 파일 ASPNETSimpleMVC4.sln(C#\Websites\ASPNETSimpleMVC4\)을 엽니다.

  2. 프로젝트를 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 ID 및 액세스를 선택합니다.

  3. Azure 액세스 제어 서비스 사용을 선택합니다.

  4. 하나 이상의 공급자 선택... 옆에 있는 구성을 클릭합니다.

  5. 액세스 제어 네임스페이스 및 관리 서비스 계정 암호를 입력합니다.

  6. 목록에서 하나 이상의 ID 공급자를 선택합니다.

    나타나는 ID 공급자는 ACS 포털 또는 ACS 관리 서비스에서 샘플을 구성할 때 추가한 ID 공급자입니다.

    이제 신뢰 당사자 응용 프로그램이 ACS를 사용하도록 구성되었습니다.

  7. F5 키를 눌러 응용 프로그램을 실행합니다. 브라우저에 ACS 홈 영역 검색 페이지가 표시됩니다.

  8. Google을 클릭합니다. 브라우저가 Google 로그인 페이지로 리디렉션됩니다.

  9. Google 계정 자격 증명을 입력하고 사용자 동의 양식을 거부합니다.

브라우저가 http://localhost:65000/으로 리디렉션됩니다. Google 사용자 이름이 페이지 왼쪽 위에 나타납니다. 이는 사용자가 신뢰 당사자 응용 프로그램에 로그인되었음을 나타냅니다. 신뢰 당사자 응용 프로그램에서 로그아웃하려면 로그아웃 링크를 클릭합니다. 사용자는 더 이상 인증된 상태가 아닙니다.

참고 항목

표시: