HTTPSSO(BizTalk Server 샘플)
HTTPSSO 샘플에서는 Microsoft BizTalk Server HTTP 어댑터와 함께 Enterprise SSO(단일 Sign-On) 기능을 사용하는 방법을 보여 줍니다.
참고
이 샘플은 64비트 운영 체제는 지원하지 않습니다.
이 샘플의 용도
이 샘플은 SSO와 BizTalk HTTP 송신 및 수신 어댑터를 사용하여 SSO가 Windows에서 인증한 Microsoft Windows 이외의 시스템에 로그온하는 사용자가 추가 자격 증명을 제공하지 않도록 허용하는 방법을 시뮬레이션하는 완벽한 시나리오를 보여 줍니다.
또한 샘플은 SSO의 interop 클라이언트 DLL을 사용하여 관련 응용 프로그램과 SSO 매핑을 만드는 데 SSO의 관리 및 매핑 모듈도 사용합니다.
샘플은 전체 시나리오에서 다음 측면을 구현하여 SSO의 사용을 보여 줍니다.
Windows 통합 인증을 사용도록 구성된 Microsoft IIS(인터넷 정보 서비스) 가상 디렉터리를 통해 표시되는 사용자 인터페이스
기본 인증을 사용하기 위해 구성된 IIS 가상 디렉터리에 의해 표시되는 백 엔드 시스템
SQL 샘플 데이터베이스 Northwind에 의해 표시되는 백 엔드 데이터베이스
이 샘플에서는 BizTalk Server 및 SSO를 설치했다고 가정합니다. Windows XP Professional에서 BizTalk Server, IIS, SSO 및 COM+에 대한 관리자 권한이 있어야 합니다. 또한 SSO 관리자, BizTalk Server 관리자, BizTalk Isolated 호스트 사용자 Windows 그룹의 구성원이어야 합니다.
이 샘플은 SSO 및 BizTalk HTTP 어댑터에 대한 충분한 지식이 있어야만 효과적으로 사용할 수 있습니다. 예를 들면, 어떤 관련 응용 프로그램이 SSO에 대한 것인지 알고 있어야 합니다. 이러한 topics 대한 자세한 내용은 SSO 사용을 참조하세요. HTTP 어댑터도 참조하세요.
구성을 완료하면 샘플이 다음과 같이 작동합니다.
이 샘플의 사용자 인터페이스로 구성된 마법사 애플리케이션에서 마침을 클릭하면 인터넷 Explorer instance 시작되고 BizTalk HTTP 수신 DLL의 URL을 전달합니다.
BizTalk Server는 SSO의 도움을 받아 기본 인증을 사용하여 구성된 IIS 가상 디렉터리의 EmployeeData.aspx 파일로 HTTP 요청을 효과적으로 전달합니다. 이 ASPX 파일은 Windows 이외의 백 엔드 시스템으로의 진입점을 시뮬레이션합니다. 사용자가 SSO를 사용하고 있기 때문에 HTTP 요청에는 시뮬레이션되는 백 엔드 시스템에 대한 로그온 계정을 시뮬레이션하는 구성된 자격 증명이 포함됩니다.
ASPX 파일이 SQL 샘플 데이터베이스 Northwind의 수정 버전에 액세스하여 시뮬레이션되는 백 엔드 시스템 자격 증명에 해당하는 직원 데이터를 검색합니다.
ASPX 파일이 검색된 직원 데이터를 HTTP 응답으로 반환합니다.
BizTalk Server가 HTTP 응답을 Internet Explorer로 라우트하고, 반환된 직원 데이터가 사용자에게 표시됩니다.
BizTalk Server 및 SSO를 무시하고 EmployeeData.aspx 파일을 직접 찾아볼 경우 자격 증명을 요청하는 Windows 대화 상자가 표시됩니다.
명령줄 유틸리티 ssomanage.exe 사용하여 관련 애플리케이션 및 사용자 매핑 만들기와 같은 SSO를 구성하는 방법을 보여 주는 샘플은 관리(BizTalk Server 샘플)를 참조하세요.
이 샘플이 있는 위치
< 샘플 경로>\SSO\HTTPSSO\
다음 표는 이 샘플의 파일을 보여 주고 각각의 용도에 대해 설명합니다.
파일 | Description |
---|---|
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 형식의 리소스 파일 |
이 샘플 빌드 및 초기화
이 샘플을 빌드하고 초기화하려면
Microsoft IIS(Internet Information Services)가 기본 인증에 사용할 수 있는 로컬 Windows 계정을 만듭니다. SSO는 Windows 도메인 계정을 이 로컬 Windows 계정에 매핑합니다. 예를 들면, 이름에서 성을 사용하여 로컬 Windows 계정을 만듭니다.
참고
도메인 컨트롤러를 실행 중인 경우 도메인 계정을 만들고 이 계정에 로그온한 도메인 계정에 매핑할 수 있습니다.
Microsoft SQL Server Enterprise Manager를 사용하여 Northwind 샘플 데이터베이스에서 Employees 테이블을 연 다음, 다양한 열에 대한 샘플 데이터를 포함하여 방금 만든 로컬 Windows 계정에 해당하는 행을 추가합니다. 직원 테이블의 LastName(성) 열에 추가하는 값은 1단계에서 추가한 로컬 Windows 계정의 사용자 이름과 일치해야 합니다.
ASP.NET 계정(ASPNET)에 Northwind 데이터베이스에 대한 읽기 권한이 있는지 확인합니다.
Visual Studio를 사용하여 SsoSample.csproj 프로젝트 파일을 엽니다.
빌드 메뉴에서 솔루션 빌드를 클릭합니다.
참고
빌드를 진행하려면 솔루션을 저장하라는 메시지가 표시됩니다.
프로젝트에 대한 다음 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 파일은 ProgramFiles>\Common Files\Enterprise Single Sign-On\폴더 < 에 있습니다.
이렇게 하면 다음 폴더에 실행 파일인 SsoSample.exe가 생성됩니다.
< 샘플 경로>\SSO\HTTPSSO\bin\Debug\
이 샘플 실행
참고
이 샘플을 IIS 6.0에서 작업자 프로세스 격리 모드로 실행하면 두 가상 디렉터리에 대한 응용 프로그램 풀이 만들어집니다. Windows 계정에서 이러한 두 응용 프로그램 풀의 ID를 수동으로 구성해야 합니다(인터넷 정보 서비스 관리자에서 ID를 구성할 수 있음).
HTTPSSO 샘플을 실행하려면
다음 폴더에서 실행 파일 SsoSample.exe를 실행합니다.
< 샘플 경로>\SSO\HTTPSSO\bin\Debug\
이 샘플의 마법사 응용 프로그램이 열립니다.
시작 페이지에서 IIS, SSO 및 BizTalk를 구성하기 위한 기본 설정을 적용하고 다음을 클릭합니다.
IIS 구성 페이지에서 만들려는 두 IIS 가상 디렉터리에 대한 기본 설정을 적용하고 다음을 클릭합니다.
SSO 구성 페이지에서 애플리케이션 추가 단추를 사용하여 액세스할 수 있는 관련 애플리케이션 에 대한 기본 설정을 적용합니다.
SSO 구성 페이지에서 매핑 추가 단추를 사용하여 액세스할 수 있는 사용자 매핑에 대한 대부분의 기본 설정을 적용합니다. 이 샘플을 빌드하고 초기화할 때 추가한 로컬 Windows 계정을 기반으로 다음 두 설정에 대한 값을 입력합니다.
설정 값 외부 사용자 이름 추가된 로컬 Windows 사용자 계정 이름에 설정합니다. 외부 사용자 암호 추가된 로컬 Windows 사용자 계정 암호에 설정합니다. SSO 구성 페이지에서 다음을 클릭합니다.
BizTalk 구성 페이지에서 송신 및 수신 포트에 대한 기본 설정을 그대로 적용하고 다음을 클릭합니다.
참고
Northwinds SQL 데이터베이스의 Employee 테이블에서 가져온 샘플 데이터가 아닌 간단한 사용자 유효성 검사를 보려면 기본 송신 포트 설정을 EmployeeData.aspx 에서 ValidateUser.aspx로 변경할 수 있습니다. 이렇게 변경하면 9단계에서 마침 을 클릭한 후 브라우저에 표시되는 출력의 특성이 변경됩니다.
수행 중인 IIS, SSO, BizTalk 구성에 해당하는 상태 메시지를 검토합니다. 이 단계에서 실행되는 코드는 SsoSample.cs 파일에 정의된 IisConfigurator, SsoConfigurator 및 BtsConfigurator 클래스에서 찾을 수 있습니다. 구성이 완료되면 다음을 클릭합니다.
마법사 애플리케이션의 마지막 페이지에서 (선택한 검사 상자 및 URL
http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>
이 있는 텍스트 상자)에서 시작 브라우저에 대한 기본 설정을 적용한 다음 마침을 클릭합니다.Internet Explorer의 인스턴스가 열리고 Northwinds SQL 데이터베이스의 직원 테이블에 추가한 직원 데이터 샘플이 표시됩니다.
비교를 위해, 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 항목, 관련 응용 프로그램 등을 신중하고 적절하게 구성합니다.
이 샘플에서 정리를 수행하려면 다음 절차를 사용하십시오.
이 샘플에서 정리를 수행하려면
수행한 수동 구성을 적절하게 되돌립니다(예: 로컬 Windows 계정 제거).
가상 디렉터리에 해당하는 IIS 응용 프로그램을 제거한 후 이 샘플에서 만든 IIS 가상 디렉터리를 삭제합니다.
BizTalk 관리 콘솔을 사용하여 이 샘플과 연결된 송신 포트의 등록을 취소한 다음 해당 포트를 삭제합니다. 그런 다음 이 샘플과 연결된 수신 포트(및 수신 위치)를 삭제합니다.
Ssomanage 응용 프로그램(\Program Files\Common Files\Enterprise Single Sign-On\)을 사용하여 이 샘플에 대한 SSO 응용 프로그램을 삭제합니다.
Ssomanage –deleteapp SsoSampleApplication