Cómo: Mostrar el estado de inicio de sesión del llamador

Normalmente, un sitio web de ASP.NET requiere que el usuario inicie sesión antes de concederle acceso a ciertas partes del sitio. Windows® Identity Foundation (WIF) proporciona un conjunto de controles web para facilitar este proceso de autenticación.

Una vez que haya aceptado el inicio de sesión de un usuario, puede que desee mostrar el estado de inicio de sesión del usuario. WIF proporciona el control SignInStatus para este escenario. Si el usuario ya ha iniciado una sesión, este control aparecerá como un vínculo “Cerrar sesión”. Si el usuario no ha iniciado una sesión, aparecerá como un vínculo “Iniciar sesión” que redirige al usuario a la página de inicio de sesión configurada para la aplicación web. Para utilizar este control, la aplicación web se debe configurar para utilizar el inicio de sesión basado en formularios. Para obtener información detallada, vea How to: Implement Simple Forms Authentication.

Mostrar el estado Iniciar sesión mediante el control SignInStatus

Al instalar WIF, los controles de WIF se instalan en el cuadro de herramientas de Visual Studio para usted. Si no los ve, puede instalarlos manualmente abriendo el cuadro de herramientas, haciendo clic con el botón secundario en él y, a continuación, seleccionando Elegir elementos.... En el cuadro de diálogo resultante, seleccione la pestaña Componentes de .NET Framework y, a continuación, haga clic en el botón Examinar en la esquina inferior derecha. Seleccione el ensamblado Microsoft.IdentityModel.dll en el directorio Reference Assemblies dentro de la carpeta de instalación de WIF y, a continuación, haga clic en Abrir. A continuación, haga clic en Aceptar. Los nuevos controles deberían aparecer dentro de las ventanas del cuadro de herramientas bajo la categoría Windows® Identity Foundation (WIF) Controls. Uno de los controles se denomina SignInStatus y es el que utilizará en los siguientes pasos.

  1. Habilite el Módulo de autenticación de sesión para la aplicación web (vea Establecer la confianza de una aplicación de usuario de confianza de ASP.NET a un STS mediante FedUtil).

  2. Agregue un control SignInStatus a la página web desde el cuadro de diálogo del cuadro de herramientas de Visual Studio.

  3. Configure el control como sea necesario.

Para mostrar este control solo cuando el usuario ha iniciado una sesión, agregue este control dentro de un elemento LoggedInTemplate del control LoginView proporcionado por ASP.NET. A continuación se muestra un ejemplo de esto.

<asp:LoginView ID="LoginView1" runat="server"> <LoggedInTemplate> Welcome:<asp:LoginName ID="LoginName1" runat="server" /> <br /> <br /> <wif:SignInStatus ID="SignInStatus1" runat="server" /> <br /> </LoggedInTemplate> </asp:LoginView>