HTTPSSO (ejemplo de BizTalk Server)
En el ejemplo HTTPSSO se muestra cómo usar la característica Enterprise Single Sign-On (SSO) con el adaptador HTTP de Microsoft BizTalk Server.
Nota
Este ejemplo no es compatible en sistemas operativos de 64 bits.
Descripción del ejemplo
En este ejemplo se muestra un escenario completo que usa SSO y los adaptadores de envío y de recepción HTTP de BizTalk para simular cómo SSO permite que un usuario evite tener que proporcionar credenciales adicionales para iniciar sesión en sistemas que no sean de Microsoft Windows después de que Windows los haya autenticado.
Este ejemplo también usa los módulos de administración y asignación de SSO para crear aplicaciones y asignaciones de SSO afiliadas mediante el uso de DLL clientes de interoperabilidad de SSO.
El ejemplo muestra el uso de SSO mediante la implementación de los siguientes aspectos de un escenario de un extremo a otro:
La interfaz de usuario, representada por un directorio virtual de Microsoft Internet Information Services (IIS) configurado para usar la autenticación integrada de Windows.
El sistema de servidor, representado por un directorio virtual de IIS configurado para usar la autenticación básica.
La base de datos de servidor, representada por la base de datos de ejemplo de SQL Northwind.
En este ejemplo se supone que ha instalado BizTalk Server y SSO. Debe tener privilegios de administrador para BizTalk Server, IIS, SSO y COM+ en Windows XP Professional. También debe ser miembro de los grupos de Windows Administradores de SSO, Administradores de servidor BizTalk Server y Usuarios de hosts aislados de BizTalk.
El uso eficaz de este ejemplo presupone que tiene los suficientes conocimientos de SSO y del adaptador de HTTP de BizTalk. Por ejemplo, debe saber lo que es una aplicación afiliada en el contexto de SSO. Para obtener información sobre estos temas, consulte Uso del inicio de sesión único. Consulte también Adaptador HTTP.
Una vez completada la configuración, este ejemplo funciona de la siguiente forma:
Al hacer clic en Finalizar en la aplicación del asistente que consta de la interfaz de usuario de este ejemplo, se inicia una instancia de Internet Explorer y pasa la dirección URL del ARCHIVO DLL de recepción HTTP de BizTalk.
BizTalk Server, con la ayuda de SSO, reenvía de forma eficaz la solicitud de HTTP al archivo EmployeeData.aspx en un directorio virtual de IIS que se ha configurado con la autenticación básica. Este archivo ASPX simula el punto de entrada en un sistema de servidor que no sea de Windows. Puesto que está usando SSO, la solicitud HTTP incluye las credenciales configuradas que simulan una cuenta de inicio de sesión en el sistema de servidor simulado.
El archivo ASPX obtiene acceso a la versión modificada de la base de datos de ejemplo de SQL Northwind para recuperar los datos de empleados correspondientes a las credenciales del sistema de servidor simuladas.
En una respuesta HTTP, el archivo ASPX devuelve los datos de empleados recuperados.
BizTalk Server enruta la respuesta HTTP a Internet Explorer, que muestra los datos de empleados devueltos al usuario.
Si se salta los pasos de BizTalk Server y SSO, y se desplaza directamente al archivo EmployeeData.aspx, un cuadro de diálogo de Windows se solicitará sus credenciales.
Para ver un ejemplo que muestra cómo usar la utilidad de línea de comandos ssomanage.exe para configurar el inicio de sesión único, como la creación de aplicaciones afiliadas y asignaciones de usuarios, consulte Administrar (BizTalk Server Ejemplo).
Ubicación del ejemplo
<Ruta de acceso de> ejemplos\SSO\HTTPSSO\
En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.
Archivos | Descripción |
---|---|
AssemblyInfo.cs, SsoSample.csproj | Archivos de proyectos y archivos relacionados para este ejemplo de SSO de HTTP. |
SsoSample.cs | Archivo de origen de nivel superior Microsoft Visual C# para la aplicación gráfica de SSO de HTTP, que constituye gran parte de este ejemplo. Este archivo contiene el código de configuración de SSO, en una clase denominada SsoConfigurator que, en última instancia, es el punto de este ejemplo. |
En la carpeta \Scripts: EmployeeData.aspx | Se usa para obtener acceso a la base de datos de servidor y consultarla (en este caso, se trata de la base de datos Northwind de SQL) cuando un empleado inicia una solicitud para ver datos personales, ya sea de forma directa o mediante el uso de SSO. |
En la carpeta \Scripts:ValidateUser.aspx | Prueba sencilla para validar un usuario e informar si el usuario está validado, ya sea de forma directa o mediante el uso de SSO. |
En la carpeta \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 | Archivos de origen auxiliares de Visual C#, y sus archivos asociados de recurso con formato XML, para la aplicación gráfica de SSO de HTTP, que constituye gran parte de este ejemplo. |
Crear e inicializar este ejemplo
Para crear e inicializar el ejemplo HTTPSSO
Cree una cuenta local de Windows que pueda usar Microsoft Internet Information Services (IIS) para la autenticación básica. SSO asigna la cuenta de dominio de Windows para esta cuenta local de Windows. Por ejemplo, use sus apellidos para crear una cuenta local de Windows.
Nota
Si se está ejecutando en un controlador de dominio, puede crear una cuenta de dominio y asignar su cuenta de dominio con la que ha iniciado sesión a esta cuenta.
Con Microsoft SQL Server Enterprise Manager, abra la tabla Employees en la base de datos de ejemplo Northwind y agregue una fila correspondiente a la cuenta local de Windows que acaba de crear, incluidos los datos de ejemplo de las distintas columnas. El valor que agregue a la columna Apellido en la tabla Empleados debe ser el mismo que el del nombre de usuario de la cuenta local de Windows agregada en el paso 1.
Asegúrese de que la cuenta ASP.NET (ASPNET) tiene privilegios de lectura para la base de datos Northwind.
Abra el archivo de proyecto SsoSample.csproj con Visual Studio.
En el menú Compilar , haga clic en Compilar solución.
Nota
Puede que se le solicite que guarde un archivo de solución antes de que se pueda proceder a la creación.
Si no encuentra las siguientes referencias de ensamblado de BizTalk del proyecto, elimínelas, vuelva a agregarlas desde las ubicaciones indicadas y créelas de nuevo:
Microsoft.BizTalk.ExplorerOM. De forma predeterminada, el archivo Microsoft.BizTalk.ExplorerOM.dll se encuentra en la carpeta \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>Developer Tools\.
Microsoft.BizTalk.SSOClient.Interop. De forma predeterminada, el archivo Microsoft.BizTalk.Interop.SSOClient.dll se encuentra en la carpeta <ProgramFiles>\Common Files\Enterprise Single Sign-On\.
Con esto, se produce el archivo ejecutable SsoSample.exe en la siguiente carpeta:
<Ruta de acceso de> ejemplos\SSO\HTTPSSO\bin\Debug\
Ejecución del ejemplo
Nota
Si ejecuta este ejemplo en IIS 6.0 en el modo aislado del proceso de trabajo, los grupos de aplicaciones se crean para ambos directorios virtuales. Debe configurar manualmente la identidad de estos dos grupos de aplicaciones en su cuenta de Windows (puede configurar la identidad en el Administrador de servicios de Internet Information Server).
Para ejecutar el ejemplo de HTTPSSO
Ejecute el archivo ejecutable SsoSample.exe, que se encuentra en la siguiente carpeta:
<Ruta de acceso de> ejemplos\SSO\HTTPSSO\bin\Debug\
La aplicación del asistente de este ejemplo se abre.
En la página principal, acepte la configuración predeterminada para configurar IIS, SSO y BizTalk y, a continuación, haga clic en Siguiente.
En la página Configuración de IIS, acepte la configuración predeterminada para los dos directorios virtuales de IIS que desea crear y, a continuación, haga clic en Siguiente.
En la página Configuración de SSO, acepte la configuración predeterminada de la aplicación afiliada, que es accesible mediante el botón Agregar aplicación .
En la página Configuración de SSO, acepte la mayoría de las opciones predeterminadas para las asignaciones de usuario, accesibles mediante el botón Agregar asignación . Proporciona valores para las siguientes dos configuraciones basándose en la cuenta local de Windows agregada durante la creación e inicialización de este ejemplo.
Configuración Value Nombre de usuario externo Establecido como el nombre de la cuenta de usuario de Windows local agregado. Contraseña de usuario externa Establecida como la contraseña de la cuenta de usuario de Windows local agregada. En la página Configuración de SSO, haga clic en Siguiente.
En la página Configuración de BizTalk, acepte la configuración predeterminada para los puertos de envío y recepción, etc., y haga clic en Siguiente.
Nota
Puede cambiar la configuración de puerto de envío predeterminada de EmployeeData.aspx a ValidateUser.aspx si desea ver una validación de usuario simple en lugar de datos de ejemplo extraídos de la tabla Employee de la base de datos SQL Northwinds. Al realizar este cambio, se cambia la naturaleza de la salida que se muestra en el explorador después de hacer clic en Finalizar en el paso 9.
Revise los mensajes de estado correspondientes a la configuración de IIS, SSO y BizTalk que se está realizando. Puede encontrar el código que se ejecuta durante esta fase en las clases IisConfigurator, SsoConfigurator y BtsConfigurator definidas en el archivo SsoSample.cs. Una vez completada la configuración, haga clic en Siguiente.
En la página final de la aplicación del asistente, acepte la configuración predeterminada para Iniciar explorador en (una casilla seleccionada y un cuadro de texto con la dirección URL
http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>
) y, a continuación, haga clic en Finalizar.Se abrirá una instancia de Internet Explorer, y pronto aparecerán los datos del empleado de ejemplo que ha agregado a la tabla Empelado de la base de datos Northwinds de SQL.
Para realizar una comparación, puede pasar por alto BizTalk y SSO y dirigirse directamente a alguno de los archivos ASPX:
http://localhost/SsoSampleServerApplication/ValidateUser.aspx
http://localhost/SsoSampleServerApplication/EmployeeData.aspx
En ambos casos, dado que se ha saltado los pasos de BizTalk y SSO, IIS le solicitará la información de su autenticación (use la información de la cuenta local de Windows creada anteriormente).
Comentarios
La aplicación del asistente de SsoSample.exe configura dos directorios virtuales de IIS:
El primer directorio virtual está configurado con la autenticación integrada de Windows, y corresponde a la extensión ISAPI de recepción HTTP de BizTalk. Debe estar asociado al archivo BTSHTTPReceive.dll, que se encuentra en la siguiente carpeta:
<Ruta de> instalación\HttpReceive
El segundo directorio virtual está configurado con la autenticación básica, y simula un sistema de servidor que acepta una contraseña y un Id. de usuario para que el usuario se autentique. Debe estar asociado a uno de los archivos ASPX: ValidateUser.aspx o EmployeeData.aspx que se encuentran en la siguiente carpeta:
<Ruta de acceso de> ejemplos\SSO\HTTPSSO\Scripts
Puede usar la aplicación del asistente de SsoSample.exe para configurar una o varias aplicaciones afiliadas. Para cada una de estas aplicaciones afiliadas, puede crear una o varias asignaciones de usuario. Cada una de estas asignaciones de usuario asigna una cuenta de usuario de Windows a una cuenta que se use para obtener acceso a un sistema de servidor específico. En este ejemplo, se trata de una cuenta local de Windows que se usa para la autenticación con el segundo directorio virtual de IIS, que está simulando un sistema de servidor original.
Para volver a ejecutar este ejemplo, puede realizar lo siguiente:
En Internet Explorer, desplácese directamente a la siguiente URL:
http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>
Ejecute de nuevo la aplicación del asistente, pero borre todas las casillas de verificación de configuración de la primera página.
Vuelva a ejecutar la aplicación del asistente, deje las casillas de verificación de configuración seleccionadas en la primera página, pero configure cuidadosamente y de forma adecuada los elementos adicionales de BizTalk, las aplicaciones afiliadas, etc., para que no se produzcan errores de configuración.
Para borrar desde este ejemplo, use el siguiente procedimiento.
Para limpiar desde este ejemplo
Según corresponda, invierta la configuración manual realizada, por ejemplo, quitando la cuenta local de Windows.
Quite las aplicaciones de IIS que correspondan a los directorios virtuales y, a continuación, elimine los directorios virtuales de IIS creados por este ejemplo.
Con la consola de administración de BizTalk, puede dar de baja y eliminar el puerto de envío asociado a este ejemplo. Después, elimine el puerto de recepción (y su ubicación de recepción) asociado a este ejemplo.
Use la aplicación Ssomanage (ubicada en \Archivos de programa\Archivos comunes\Enterprise Single Sign-On\) para eliminar la aplicación SSO de este ejemplo:
Ssomanage –deleteapp SsoSampleApplication