HTTPSSO(BizTalk Server 샘플)

HTTPSSO 샘플에서는 Microsoft BizTalk Server HTTP 어댑터와 함께 Enterprise SSO(단일 Sign-On) 기능을 사용하는 방법을 보여 줍니다.

메모

이 샘플은 64비트 운영 체제에서 지원되지 않습니다.

이 샘플이 수행하는 작업

이 샘플에서는 SSO 및 BizTalk HTTP 송신 및 수신 어댑터를 사용하여 Windows가 인증한 후 사용자가 Microsoft가 아닌 Windows 시스템에 로그온하기 위해 추가 자격 증명을 제공하지 않도록 하는 방법을 시뮬레이션하는 엔드투엔드 시나리오를 보여 줍니다.

샘플은 SSO의 관리 및 매핑 모듈을 사용합니다. 이를 통해 SSO의 interop 클라이언트 DLL을 활용하여 관련 애플리케이션 및 SSO 매핑을 생성합니다.

이 샘플에서는 엔드투엔드 시나리오의 다음 측면을 구현하여 SSO를 사용하는 방법을 보여 줍니다.

  • Windows 통합 인증을 사용하도록 구성된 Microsoft IIS(인터넷 정보 서비스) 가상 디렉터리로 표현되는 사용자 인터페이스입니다.

  • 기본 인증을 사용하도록 구성된 IIS 가상 디렉터리로 표시되는 백 엔드 시스템입니다.

  • SQL 샘플 데이터베이스 Northwind로 표현되는 백 엔드 데이터베이스입니다.

이 샘플에서는 BizTalk Server 및 SSO를 설치했다고 가정합니다. Windows XP Professional에서 BizTalk Server, IIS, SSO 및 COM+에 대한 관리자 권한이 있어야 합니다. 또한 SSO 관리자, BizTalk Server 관리자 및 BizTalk 격리 호스트 사용자 Windows 그룹의 구성원이어야 합니다.

이 샘플을 효과적으로 사용하면 SSO 및 BizTalk HTTP 어댑터에 대한 충분한 지식이 있다고 가정합니다. 예를 들어 SSO 컨텍스트에서 관련 애플리케이션이 무엇인지 알고 있어야 합니다. 이러한 항목에 대한 자세한 내용은 SSO 사용을 참조하세요. HTTP 어댑터도 참조하세요.

구성을 완료한 후 이 샘플은 다음과 같이 작동합니다.

  1. 이 샘플의 사용자 인터페이스로 구성된 마법사 애플리케이션에서 마침 을 클릭하면 Internet Explorer 인스턴스가 시작되고 BizTalk HTTP 수신 DLL의 URL을 전달합니다.

  2. BizTalk Server는 SSO의 도움으로 기본 인증으로 구성된 IIS 가상 디렉터리의 파일 EmployeeData.aspx HTTP 요청을 효과적으로 전달합니다. 이 ASPX 파일은 비 Windows 백 엔드 시스템에 진입점을 시뮬레이션합니다. SSO를 사용하므로 HTTP 요청에는 시뮬레이션된 백 엔드 시스템에 로그온 계정을 시뮬레이션하는 구성된 자격 증명이 포함됩니다.

  3. ASPX 파일은 SQL 샘플 데이터베이스 Northwind의 수정된 버전에 액세스하여 시뮬레이션된 백 엔드 시스템 자격 증명에 해당하는 직원 데이터를 검색합니다.

  4. ASPX 파일은 HTTP 응답에서 검색된 직원 데이터를 반환합니다.

  5. BizTalk Server는 반환된 직원 데이터를 사용자에게 표시하는 Internet Explorer로 HTTP 응답을 라우팅합니다.

    BizTalk Server 및 SSO를 무시하고 파일 EmployeeData.aspx 직접 탐색하는 경우 Windows 대화 상자에서 자격 증명을 묻는 메시지를 표시합니다.

    명령줄 유틸리티 ssomanage.exe 사용하여 관련 애플리케이션 및 사용자 매핑을 만드는 등 SSO를 구성하는 방법을 보여 주는 샘플은 관리(BizTalk Server 샘플)를 참조하세요.

이 샘플을 찾을 수 있는 위치

< 샘플 경로>\SSO\HTTPSSO\

다음 표에서는 이 샘플의 파일을 보여 줍니다. 해당 용도를 설명합니다.

파일(들) 설명
AssemblyInfo.cs, SsoSample.csproj 이 HTTP SSO 샘플에 대한 프로젝트 및 관련 파일입니다.
SsoSample.cs 이 샘플의 대부분을 구성하는 HTTP SSO 그래픽 애플리케이션에 대한 최상위 Microsoft Visual C# 소스 파일입니다. 이 파일에는 SsoConfigurator라는 클래스에 SSO 구성 코드가 포함되어 있습니다. 이 클래스는 궁극적으로 이 샘플의 포인트입니다.
\Scripts 폴더: EmployeeData.aspx 직원이 직접 또는 SSO를 사용하여 개인 데이터 보기 요청을 시작할 때 백 엔드 데이터베이스(이 경우 SQL Northwind 데이터베이스)에 액세스하고 쿼리하는 데 사용됩니다.
Scripts 폴더 내의: ValidateUser.aspx 직접 또는 SSO를 사용하여 사용자의 유효성을 검사하고 해당 사용자의 유효성을 검사한 경우 보고하는 간단한 테스트입니다.
\UI 폴더: AddApplication.cs, AddApplication.resx, AddMapping.cs, AddMapping.resx, App.ico, BtsPage.cs, BtsPage.resx, ExecutePage.cs, ExecutePage.resx, FinishPage.cs, FinishPage.resx, IisPage.cs, IisPage.resx, InfoPage.cs, InfoPage.resx, PageBase.cs, PageBase.resx, SsoPage.cs, SsoPage.resx, SsoSampleWizard.cs, SsoSampleWizard.resx, WelcomePage.cs, WelcomePage.resx, WorkPage.cs, WorkPage.resx 이 샘플의 대부분을 구성하는 HTTP SSO 그래픽 애플리케이션에 대한 보조 Visual C# 원본 파일 및 관련 XML 형식의 리소스 파일입니다.

이 샘플 빌드 및 초기화

HTTPSSO 샘플을 빌드하고 초기화하려면

  1. Microsoft IIS(인터넷 정보 서비스)가 기본 인증에 사용할 수 있는 로컬 Windows 계정을 만듭니다. SSO는 Windows 도메인 계정을 이 로컬 Windows 계정에 매핑합니다. 예를 들어 성을 사용하여 로컬 Windows 계정을 만듭니다.

    메모

    도메인 컨트롤러에서 실행하는 경우 도메인 계정을 만들고 로그온한 도메인 계정을 이 계정에 매핑할 수 있습니다.

  2. Microsoft SQL Server Enterprise Manager를 사용하여 Northwind 샘플 데이터베이스에서 Employees 테이블을 연 다음, 다양한 열에 대한 샘플 데이터를 포함하여 방금 만든 로컬 Windows 계정에 해당하는 행을 추가합니다. Employees 테이블의 LastName 열에 추가하는 값은 1단계에서 추가한 로컬 Windows 계정의 사용자 이름과 동일해야 합니다.

  3. ASPNET(ASP.NET 계정)에 Northwind 데이터베이스에 대한 읽기 권한이 있는지 확인합니다.

  4. Visual Studio를 사용하여 프로젝트 파일 SsoSample.csproj를 엽니다.

  5. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

    메모

    빌드를 진행하기 전에 솔루션 파일을 저장하라는 메시지가 표시될 수 있습니다.

    프로젝트에 대한 다음 BizTalk 어셈블리 참조를 찾을 수 없는 경우 삭제하고, 표시된 위치에서 다시 추가하고, 다시 빌드합니다.

    • Microsoft.BizTalk.ExplorerOM. 기본적으로 Microsoft.BizTalk.ExplorerOM.dll 파일은 \Program Files (x86)\Microsoft BizTalk Server <VERSION>Developer Tools\폴더에 있습니다.

    • Microsoft.BizTalk.SSOClient.Interop. 기본적으로 Microsoft.BizTalk.Interop.SSOClient.dll 파일은 <\Common Files\Enterprise Single Sign-On\폴더 > 에 있습니다.

      그러면 다음 폴더에 실행 파일 SsoSample.exe 생성됩니다.

      < 샘플 경로>\SSO\HTTPSSO\bin\Debug\

이 샘플 실행

메모

작업자 프로세스 격리 모드에서 IIS 6.0에서 이 샘플을 실행하면 두 가상 디렉터리에 대해 애플리케이션 풀이 만들어집니다. Windows 계정에서 이러한 두 애플리케이션 풀에 대한 ID를 수동으로 구성해야 합니다(인터넷 정보 서비스 관리자에서 ID를 구성할 수 있습니다).

HTTPSSO 샘플을 실행하려면

  1. 다음 폴더에 있는 실행 파일 SsoSample.exe실행합니다.

    < 샘플 경로>\SSO\HTTPSSO\bin\Debug\

    이 샘플에 대한 마법사 애플리케이션이 열립니다.

  2. 시작 페이지에서 IIS, SSO 및 BizTalk를 구성하기 위한 기본 설정을 그대로 적용하고 다음을 클릭합니다.

  3. IIS 구성 페이지에서 만들려는 두 IIS 가상 디렉터리에 대한 기본 설정을 그대로 적용하고 다음을 클릭합니다.

  4. SSO 구성 페이지에서 애플리케이션 추가 단추를 사용하여 액세스할 수 있는 관련 애플리케이션 에 대한 기본 설정을 적용합니다.

  5. SSO 구성 페이지에서 매핑 추가 단추를 사용하여 액세스할 수 있는 사용자 매핑에 대한 대부분의 기본 설정을 적용합니다. 이 샘플을 빌드하고 초기화할 때 추가한 로컬 Windows 계정에 따라 다음 두 설정에 대한 값을 제공합니다.

    설정 가치
    외부 사용자 이름 추가된 로컬 Windows 사용자 계정 이름으로 설정합니다.
    외부 사용자 암호 추가된 로컬 Windows 사용자 계정 암호로 설정합니다.
  6. SSO 구성 페이지에서 다음을 클릭합니다.

  7. BizTalk 구성 페이지에서 송신 및 수신 포트 등에 대한 기본 설정을 그대로 적용하고 다음을 클릭합니다.

    메모

    Northwinds SQL 데이터베이스의 Employee 테이블에서 가져온 샘플 데이터가 아닌 간단한 사용자 유효성 검사를 보려면 기본 송신 포트 설정을 EmployeeData.aspx ValidateUser.aspx 변경할 수 있습니다. 이렇게 변경하면 9단계에서 마침 을 클릭한 후 브라우저에 표시되는 출력의 특성이 변경됩니다.

  8. 수행 중인 IIS, SSO 및 BizTalk 구성에 해당하는 상태 메시지를 검토합니다. 파일 SsoSample.cs 정의된 IisConfigurator, SsoConfiguratorBtsConfigurator 클래스에서 이 단계에서 실행되는 코드를 찾을 수 있습니다. 구성이 완료되면 다음을 클릭합니다.

  9. 마법사 애플리케이션의 마지막 페이지에서 시작 브라우저 의 기본 설정(선택한 확인란 및 URL http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>이 있는 텍스트 상자)을 그대로 적용한 다음 마침을 클릭합니다.

    Internet Explorer 인스턴스가 열리고 Northwinds SQL 데이터베이스의 Employee 테이블에 추가한 샘플 직원 데이터가 곧 표시됩니다.

    비교를 위해 BizTalk 및 SSO를 우회하고 ASPX 파일 중 하나를 직접 찾아볼 수 있습니다.

    • http://localhost/SsoSampleServerApplication/ValidateUser.aspx

    • http://localhost/SsoSampleServerApplication/EmployeeData.aspx

    두 경우 모두 BizTalk 및 SSO를 바이패스하므로 IIS에서 인증 정보를 입력하라는 메시지가 표시됩니다(이전에 만든 로컬 Windows 계정 정보 사용).

코멘트

SsoSample.exe 마법사 애플리케이션은 두 개의 IIS 가상 디렉터리를 구성합니다.

  • 첫 번째 가상 디렉터리가 Windows 통합 인증으로 구성되며 BizTalk HTTP 수신 ISAPI 확장에 해당합니다. 다음 폴더에 있는 .dll 파일 BTSHTTPReceive.dll에 연결되어 있어야 합니다.

    < 설치 경로>\HttpReceive

  • 두 번째 가상 디렉터리가 기본 인증으로 구성되고 사용자 ID 및 암호를 수락하여 사용자를 인증하는 백 엔드 시스템을 시뮬레이션합니다. 다음 폴더에 있는 ASPX 파일 ValidateUser.aspx 또는 EmployeeData.aspx 하나 또는 다른 파일과 연결되어야 합니다.

    < 샘플 경로>\SSO\HTTPSSO\Scripts

    SsoSample.exe 마법사 애플리케이션을 사용하여 하나 이상의 관련 애플리케이션을 구성할 수 있습니다. 이러한 각 관련 애플리케이션에 대해 하나 이상의 사용자 매핑을 만들 수 있습니다. 이러한 각 사용자 매핑은 특정 백 엔드 시스템에 액세스하는 데 사용하는 계정에 Windows 사용자 계정을 매핑합니다. 이 샘플에서 해당 계정은 정품 백 엔드 시스템을 시뮬레이션하는 두 번째 IIS 가상 디렉터리로 인증하는 데 사용하는 로컬 Windows 계정입니다.

이 샘플을 다시 실행하려면 다음과 같은 몇 가지 옵션이 있습니다.

  • Internet Explorer에서 다음 URL로 직접 이동합니다.

    http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>

  • 마법사 애플리케이션을 다시 실행하지만 첫 번째 페이지에서 모든 구성 확인란의 선택을 취소합니다.

  • 마법사 애플리케이션을 다시 실행하고 첫 번째 페이지에서 선택한 구성 확인란을 그대로 두지만 구성 오류가 발생하지 않도록 추가 BizTalk 항목, 관련 애플리케이션 등을 신중하게 적절하게 구성합니다.

이 샘플을 정리하려면 다음 절차를 따르세요.

이 샘플을 정리하려면

  1. 적절하게 로컬 Windows 계정 제거와 같이 수행한 수동 구성을 반대로 설정합니다.

  2. 가상 디렉터리에 해당하는 IIS 애플리케이션을 제거한 다음 이 샘플에서 만든 IIS 가상 디렉터리를 삭제합니다.

  3. BizTalk 관리 콘솔을 사용하여 이 샘플과 연결된 송신 포트를 등록 취소한 다음 삭제합니다. 그런 다음, 이 샘플과 연결된 수신 포트(및 수신 위치)를 삭제합니다.

  4. Ssomanage 애플리케이션(\Program Files\Common Files\Enterprise Single Sign-On\에 있음)을 사용하여 이 샘플에 대한 SSO 애플리케이션을 삭제합니다.

    Ssomanage –deleteapp SsoSampleApplication  
    

또한 참조하십시오

SSO(BizTalk Server 샘플 폴더)