내보내기(0) 인쇄
모두 확장

코드 샘플: ASP.NET 웹 서비스

게시: 2011년 4월

업데이트 날짜: 2014년 11월

적용 대상: Azure

이 샘플에서는 Microsoft Azure Active Directory 액세스 제어(액세스 제어 서비스 또는 ACS라고도 함)를 간단한 웹 서비스로 통합하는 방법을 보여 줍니다. 이 샘플은 ASP.NET을 웹 서비스 호스트 및 명령줄 클라이언트로 사용합니다. ASP.NET 웹 서비스에는 ACS에서 발급한 SWT 토큰이 필요합니다. 클라이언트는 ACS에 등록된 사용자 이름과 암호를 사용하여 ACS에서 토큰을 요청합니다. 이 샘플의 코드는 Microsoft Azure Active Directory ACS(액세스 제어 서비스) 코드 샘플 패키지의 ASPNETSimpleService(C#\WebServices\ASPNETSimpleService) 하위 디렉터리에 있습니다.

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

  1. Azure 홈 페이지에서 계정을 만들고 액세스 제어 네임스페이스를 만들어야 합니다.

  2. Visual Studio 2010(버전 상관 없음)

자세한 내용은 ACS 필수 구성 요소(http://go.microsoft.com/fwlink/?LinkId=221065)를 참조하세요.

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

  1. 옵션 1: ACS 관리 포털을 사용한 샘플 구성

  2. 옵션 2: ACS 관리 서비스를 사용한 샘플 구성

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

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

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

    이 작업을 수행하면 액세스 제어 서비스 관리 포털이 열립니다.

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

    • 이름 필드에 ASPNET 단순 서비스를 입력합니다.

    • 영역 필드에 http://localhost:8000/Service/를 입력합니다.

    • 반환 URL 필드에 http://localhost:8000/Service/를 입력합니다.

    • 토큰 형식 드롭다운 목록 상자에서 SWT를 선택합니다.

    • 토큰 서명 키 필드에서 생성을 클릭하여 토큰 서명 키를 만듭니다. 나중에 구성에서 사용할 수 있도록 이 키를 복사합니다.

    • 만료 날짜 필드에 키의 적절한 만료 날짜를 입력합니다. 이 날짜부터 키는 더 이상 유효하지 않게 됩니다.

    • 다른 필드는 기본값으로 그대로 둡니다.

  5. 저장을 차례로 클릭하여 액세스 제어 서비스 관리 포털의 홈 페이지로 돌아옵니다.

  6. 신뢰 당사자를 등록한 후에는 ACS에서 응용 프로그램에 대해 발급할 클레임을 결정하는 규칙을 만듭니다. 이 샘플에서는 등록된 모든 사용자 이름 및 암호에 값이 reverseaction 클레임을 부여하는 규칙을 만듭니다. 이 규칙을 만들려면 을 클릭하여 액세스 제어 서비스 관리 포털의 홈 페이지로 이동하고 규칙 그룹을 클릭한 후 ASP.NET 단순 서비스의 기본 규칙 그룹을 클릭합니다. 다음 설정을 사용하여 새 규칙을 추가합니다.

    • 클레임 발급자 섹션에서 액세스 제어 서비스를 선택합니다.

    • 입력 클레임 유형 섹션에서 임의를 선택합니다.

    • 입력 클레임 값 섹션에서 임의를 선택합니다.

    • 출력 클레임 유형 섹션에서 유형 입력을 선택하고 필드에 action을 입력합니다.

    • 출력 클레임 값 섹션에서 값 입력을 선택하고 필드에 reverse를 입력합니다.

  7. 웹 사이트 샘플과는 달리 이 샘플은 ACS에서 관리하는 자격 증명을 사용합니다. ACS 구성의 마지막 단계는 클라이언트 응용 프로그램에서 사용할 사용자 이름과 암호를 등록하는 것입니다. 새 사용자 이름과 암호를 구성하려면 을 클릭하여 액세스 제어 서비스 관리 포털의 홈 페이지로 이동하고 서비스 ID, 추가를 차례로 클릭한 다음 양식을 작성합니다. 이 샘플에서는 사용자 이름 acssample, 자격 증명 유형 Password, 암호 pass@word1을 사용합니다.

  8. 저장을 차례로 클릭하여 액세스 제어 서비스 관리 포털의 홈 페이지로 돌아옵니다.

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

  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 응용 프로그램을 실행합니다. 그러면 이 샘플을 실행하도록 ACS가 구성됩니다.

  3. ConfigureSample 응용 프로그램이 완료되면 생성된 신뢰 당사자 서명 키가 콘솔에 출력됩니다. 이 키를 클립보드에 복사합니다.

  1. Visual Studio에서 샘플을 엽니다. 솔루션은 ServiceClient 등 두 프로젝트로 구성됩니다.

  2. Common\SamplesConfiguration.cs에 액세스 제어 네임스페이스 세부 정보를 입력하지 않은 경우 입력합니다. 자세한 내용은 옵션 2: ACS 관리 서비스를 사용하여 구성의 1단계를 참조하세요. Service 및 Client 프로젝트에서도 이 파일을 사용합니다.

  3. Service 프로젝트에서 web.config 파일을 엽니다. 해당 AppSettings 요소에 토큰 서명 키를 입력합니다. 관리 서비스를 사용하여 ACS를 구성한 경우 이 키는 클립보드에 복사한 값입니다. 토큰 서명 키를 얻으려면 포털의 인증서 및 키 영역을 참조하세요. 다음은 Service web.config 파일의 이 영역을 보여 주는 코드 조각입니다.

    <appSettings>
        <add key="IssuerSigningKey" value="...update to your signing key..."/>
      </appSettings>
    
    
  4. Client 프로젝트에서 app.config 파일을 엽니다. 해당 AppSettings 요소에 사용자 이름과 암호를 입력합니다. 이전에 등록한 사용자 이름과 암호를 가져오려면 포털의 서비스 ID 영역을 참조하세요. 다음은 Client app.config 파일의 이 영역(적절하게 업데이트됨)을 보여 주는 코드 조각입니다.

      <appSettings>
        <add key="OAuthUserName" value="acssample" />
        <add key="OAuthPassword" value="pass@word1" />
        <add key="ServiceAddress" value="http://localhost:8000/Service/Default.aspx" />   
      </appSettings>
    
    
  5. 샘플을 실행하려면 서비스를 시작한 다음 클라이언트를 시작합니다. 클라이언트에서 반전할 문자열을 입력합니다. 그러면 클라이언트 콘솔 창에 ACS에서 토큰을 받았음을 나타내는 출력이 표시됩니다.

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft