Sunteți pe pagina 1din 19

Controles Login

-1-

UTILIZACIN DE LOS CONTROLES LOGIN

CONFIGURACIN

1 PASO: Ejecutar el archivo aspnet_regsql.exe para activar con SQL Server 2000, el cual se encuentra en el siguiente directorio: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ aspnet_regsql.exe Para realizar la instalacin hay que seguir los siguientes pasos:

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-2-

En la siguiente imagen ponemos el nombre de nuestro servidor, y podemos elegir si queremos la autentificacin de Windows o la autentificacin de SQL Server, eso depende ya de cada caso. Y dejamos la base de datos por defecto.

Y ya le damos a continuar y comienza la instalacin.

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-3-

2 PASO: A continuacin, para usar los controles login, tenemos que configurar los siguientes puntos, ya que viene configurado por defecto para SQL Server 2005, por lo que hay que hacer algunos cambios para SQL Server 2000: 1. 2. 3. 4. Hay que configurar las conexiones a las bases de datos. Hay que configurar los < providers > del <MemberShip>. Hay que configurar los < providers > del < roleManager >. Hay que configurar los < providers > del < siteMap >.

Todo esto se configura en el archivo web.config, este archivo aparece cuando ejecutamos por primera vez un proyecto nuevo, lo cual nos muestra una ventana como la que aparece a continuacin:

Seleccionamos la opcin de aadir un nuevo archivo web.config y le damos a OK.

Para configurar todo esto abrimos el archivo machine.Config, el cual se encuentra en el siguiente directorio: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\ machine.config

Una vez que tenemos abiertos los archivos web.config y machine.config, comenzamos la configuracin.

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-4-

1. Configuracin de la conexin con la base de datos

Esto lo configuramos para poder realizar una conexin con la base de datos aspnetdb que contiene los datos del registro de los usuarios. Para establecer la conexin con la base de datos aspnetdb tenemos que hacer lo siguiente: Nos vamos al Server Explorer, nos ponemos sobre Data Connections, le damos al botn derecho, y seleccionamos Add Connection. Tras esto nos aparece una ventana donde elegimos el nombre de nuestro servidor y seleccionamos la base de datos con la que queremos realizar la conexin, en este caso la aspnetdb.

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-5-

Ahora pasamos a configurar nuestro archivo web.config, para ello: Copiamos del archivo machine.config el siguiente cdigo:
<connectionStrings> <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;Use r Instance=true" providerName="System.Data.SqlClient"/> </connectionStrings>

Y lo pegamos en el archivo web.config en la lnea donde pone el cdigo:


<connectionStrings/>

Una vez que lo hemos pegado cambiamos el name poniendo SqlServer2000 y en el ConnectionStrings ponemos la conexin que vamos a utilizar con la base de datos aspnetdb, lo cual quedara de la siguiente forma:

<connectionStrings> <add name="SqlServer2000" connectionString="Data Source=2ASI03;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>

2. Configuracin de los < providers > del <MemberShip>

Esto lo configuramos para poder crear usuarios. Copiamos del archivo machine.config el siguiente cdigo, que se encuentra dentro del
<system.web>: <membership> <providers> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership>

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-6-

Y lo pegamos en el archivo web.config, dentro del <system.web>, por ejemplo en la ltima lnea antes de </system.web> Una vez que lo hemos pegado, cambiamos el name AspNetSqlMembership2000 y en el ConnectionStringName SqlServer2000. Dentro de <membership> aadimos lo siguiente:
<membership defaultProvider="AspNetSqlMembership2000">

poniendo ponemos

Y en la lnea: <authentication mode="Windows"/> que se encuentra dentro del <system.web>, la cambiamos poniendola de la siguiente forma:
<authentication mode="Forms"/>

Todo esto quedara como se muestra a continuacin:

<membership defaultProvider="AspNetSqlMembership2000"> <providers> <add name="AspNetSqlMembership2000" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="SqlServer2000" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership>

Para que la contrasea de los usuarios no se guarde encriptada, tendremos que cambiar los siguientes parmetros del cdigo anterior:
enablePasswordRetrieval="true" passwordFormat="Clear"

Si no queremos que la contrasea tenga caracteres especiales, tendriamos que cambiar el siguiente cdigo:
minRequiredNonalphanumericCharacters="0"

etc

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-7-

3. Configuracin de los < providers > del < roleManager >

Esto lo configuramos para poder crear perfiles de usuario. Copiamos del archivo machine.config el siguiente cdigo, que se encuentra dentro del
<system.web>:

<roleManager> <providers> <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </roleManager>

Y lo pegamos en el archivo web.config, dentro del <system.web> Una vez que lo hemos pegado, eliminamos entera la segunda lnea de:
<add name="AspNetWindowsTokenRoleProvider">

y en la primera lnea de <add name="AspNetSqlRoleProvider">, cambiamos el name poniendo AspNetSqlRole2000 y en el ConnectionStringName ponemos SqlServer2000. Dentro de <roleManager> aadimos lo siguiente:
<roleManager defaultProvider="AspNetSqlRole2000" enabled="true">

Todo esto quedara de la siguiente forma:


<roleManager defaultProvider="AspNetSqlRole2000" enabled="true"> <providers> <add name="AspNetSqlRole2000" connectionStringName="SqlServer2000" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </roleManager>

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-8-

Una vez configurados los perfiles se puede restringir el acceso a los nodos de un men (como veremos mas adelante) y a distintas carpetas de la aplicacin, utilizando la propiedad roles en los ficheros web.config adecuados. He aqu un ejemplo de un fichero web.config que autoriza el acceso al perfil de Administrador y se lo deniega a todos los demas.
<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> <authorization> <allow roles="Administrador" /> <deny users="*" /> </authorization> </system.web> </configuration>

4. Configuracin de los < providers > del < siteMap > Esto lo configuramos para poder utilizar los roles. En este caso, en vez de utilizar el archivo machine.config, tenemos que abrir el archivo web.config general, que se encuentra en la siguiente ruta: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\ web.config De este archivo copiamos el siguiente cdigo que se encuentra dentro del <system.web>:
<siteMap> <providers> <add siteMapFile="web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </siteMap>

Y lo pegamos en el archivo web.config de nuestro proyecto,


<system.web>.

dentro del

Una vez que lo hemos pegado, dentro de <add ...> aadimos lo siguiente:
<add securityTrimmingEnabled="true.. ..>

Esta propiedad aade la lgica necesaria para mostrar en un men solo los nodos permitidos segn el perfil del usuario identificado. He aqu un ejemplo de web.sitemap:

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

-9-

<siteMapNode title="Profesores" url="" roles="*"> <siteMapNode title="Publicar en tabln departamento" url="./Profesores/Publicar.aspx" roles="*"> </siteMapNode> <siteMapNode title="Informes" url="./Profesores/Informes.aspx" roles="Profesor"> </siteMapNode> <siteMapNode title="Correo Web" url="https://virtual.ieslasfuentezuelas.com/webmail" target="_parent" roles="Profesor"> </siteMapNode> </siteMapNode>

Y dentro de <siteMap> aadimos:


<siteMap defaultProvider="AspNetXmlSiteMapProvider" enabled="true">

Todo esto quedara de la siguiente forma:


<siteMap defaultProvider="AspNetXmlSiteMapProvider" enabled="true"> <providers> <clear/> <add securityTrimmingEnabled="true" siteMapFile="web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </siteMap>

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 10 -

CONTROLES LOGIN

CONTROL LOGIN:

El control login sirve para que un usuario se identifique a la hora de entrar en una pgina. Este control tiene muchas propiedades, entre las cuales est cambiar el formato del control y sus titulos. Tambin se le puede dar un formato de los que vienen ya prediseados. Las propiedades CreateUserText y CreateUserUrl, sirven para aadir al control, un HyperEnlace que te mande a una pgina donde nos encontraremos con un control CreateUserWizard para que un usuario se registre. En CreateUserText se pone el ttulo (en el ejemplo: Registrate) y en CreateUserUrl la pgina a donde se va a dirigir. Las propiedades PasswordRecoveryText y PasswordRecoveryUrl, sirven para aadir al control, un HyperEnlace que te mande a una pgina donde nos vamos a encontral con un control PasswordRecovery, para que a un usuario se le pueda informar sobre cual es su contrasea. En PasswordRecoveryText se pone el ttulo (en el ejemplo: Olvidaste la contrasea?) y en PasswordRecoveryUrl la pgina a donde se va a dirigir. Otra propiedad a destacar es VisibleWhenLoggedIn, si esta propiedad se pone a false, significa que cuando un usuario se identifica, el control desaparece, y cuando ste cierra la sesin, el control vuelve a aparecer. Si la propiedad esta a true, el control siempre estar visible.

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 11 -

CONTROL LOGINNAME:

Este control nos muestra el nombre del usuario que se ha identificado.

CONTROL LOGINSTATUS:

Este control nos muestra el estado en que se encuentra un usuario, es decir, si un usuario se ha identificado o si un usuario an no se ha identificado (es annimo). Cuando un usuario acaba de entrar a una pgina y an no se ha identificado, pues esto se lo indicamos en Logged Out, donde en las propiedades del Control le podemos decir que nos ponga el texto: Identifiquese, concretamente en la propiedad: LoginText.

Cuando un usuario se identifica, ese texto cambia, y eso se lo indicamos en Logged In, donde en la propiedad del control LogoutText le ponemos por ejemplo el texto: Cerrar Sesin.

CONTROL LOGINVIEW:

Este Control se utiliza para indicar en una pgina si un usuario es annimo o si el usuario se ha identificado, que nos indique su nombre y estado (en este control se suelen utilizar los dos controles anteriores)

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 12 -

En el caso de que sea annimo (La opcin AnonymousTemplate), en el LoginView podemos escribir el texto Usuario Annimo, Identifquese o Regstrese. Por lo tanto cualquier persona que acceda a la pgina le aparecer dicho texto.

Cuando un usuario se identifique (La opcin LoggedInTemplate), en el LoginView podemos introducir un control LoginName, que nos mostraria en la pgina el nombre de usuario de la persona que se ha identificado, y un control LoginStatus para que nos indique que su estado es iniciado y pueda cerrar la sesin cuando quiera.

CONTROL CREATEUSERWIZARD:

Este control es un formulario, donde un usuario introduce sus datos para registrarse en una pgina, y directamente se crea un usuario. (La opcin Sign Up for New Account)

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 13 -

Este control tiene muchas propiedades, entre las cuales est cambiar el formato del control y sus ttulos. Tambin se le puede dar un formato de los que vienen ya prediseados. Cuando se pincha sobre el botn Crear Usuario, nos aparece un mensaje donde nos informa de que el usuario ha sido creado, y nos muestra un botn para continuar, que cuando se pincha, nos vamos a la pgina que le indiquemos. (La Opcin Complete)

En las propiedad del control ContinueDestinationPageUrl es donde se le indica la pgina a la que queremos ir una vez que se pinche el botn Continue.

Una propiedad a destacar es MailDefinition, la cual sirve para enviar un correo al usuario una vez que se ha registrado, por ejemplo dandole la bienvenida. Lo primero que tenemos que hacer es aadir un nuevo item en nuestro proyecto, el cual va a ser un Text File, en donde vamos a escribir el texto del cuerpo del mensaje que le vamos a mandar. A continuacin en las propiedades del MailDefinition vamos poniendo los datos del correo; en la propiedad BodyFileName le ponemos el Text File que hemos creado, en la propiedad From ponemos la direccin de nuestro correo electrnico y en la propiedad Subject pues le escribimos el asunto del correo. Para que esta propiedad funcione tenemos que tener instalado el Servidor Virtual SMTP Predeterminado, para verlo, entramos en la siguiente ruta:

Mi PC / Panel de Control / Herramientas Administrativas / Servicios de Internet Information Server

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 14 -

Y tener instalado lo que se muestra en la siguiente imagen:

Una vez ah, nos metemos en propiedades del Servidor Virtual SMTP Predeterminado.

Y Configuramos lo que se muestran en las siguientes imgenes:

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 15 -

Seleccinamos la pestaa Acceso y le damos a Retransmisin, y a continuacin le damos a agregar y escribimos la direccin IP: 127.0.0.1 , que corresponde a Localhost.

Y por ltimo aceptamos. Una vez configurado esto, nos vamos a nuestro proyecto y entramos en ASP.Net Configuratin, para configurar en el proyecto lo de mandar un e-mail. Esta opcin se encuentra en el Explorador de Soluciones:

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login Al seleccionar ASP.NET Configuration se muestra la siguiente pgina:

- 16 -

Una vez dentro seleccionamos Application Configuration, y entramos en la siguiente pgina:

Y en esta pgina pinchamos sobre Configure SMTP e-mail settings, y esto nos muestra el siguiente cuadro:

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 17 -

Una vez aqu, indicamos como nombre de servidor localhost, puerto de servidor 25 y nuesta direccin de correo electrnico. Y le damos a Save. Tras realizar todos estos pasos, ya se puede mandar correos electrnicos a los usuarios que se registren.

CONTROL PASSWORDRECOVERY:

Este control se utiliza para recordar la contrasea de un usuario, cuando a este se le ha olvidado. El control PasswordRecovery tiene tres opciones: La primera opcin, como se ve en la imagen, pide el nombre del usuario, y cuando le da a sumbit, se carga la siguiente opcin.

La segunda opcin, como se muestra a continuacin, te hace la pregunta que el usuario introdujo cuando se registr, y el usuario debe de introducir la respuesta que puso en aquel momento. A continuacin pincha en Sumbit y se carga la tercera opcin.

La tercera opcin muestra un mensaje diciendo que la contrasea ha sido enviada.

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 18 -

Este control tiene muchas propiedades, entre las cuales est cambiar el formato del control y sus ttulos. Tambin se le puede dar un formato de los que vienen ya prediseados. Para que la contrasea le llegue al usuario, este control tiene, al igual que el control CreateUserWizard, la propiedad MailDefinition, la cual hay que configurar para que al usuario le llegue un correo electrnico con la contrasea (esto se configura tal y como se ha hecho para el control CreateUserWizard). Slo que tendramos que aadir un nuevo item de tipo Text File al proyecto, en el cul escribiriamos el cuerpo del correo que le vamos a enviar con la contrasea, y este documento se aadira a la propiedad BodyFileName del MailDefinition. Para que le llegue la contrasea y el nombre de usuario, en el documento Text File pondriamos por ejemplo: Hola <% Username %>, su contrasea es: <% Password %>

CONFIGURACIN DE ASP.NET CONFIGURATION

Como hemos dicho anteriormente, para acceder a ASP.NET Condiguration, podemos hacerlo desde el explorador de soluciones, como se muestra en la imagen:

En esta opcin se pueden crear nuevos usuarios y administrarlos, as como tambin los perfiles o roles. Cuando accedemos a ASP.NET Configuratin se abre la siguiente pgina:

Antonio Illana Vlchez

2 ASI D.F.S.

Controles Login

- 19 -

Si entramos en Security, nos d las distintas opciones para crear usuarios, roles, administrarlos, y dar permisos.

En est imagen se muestra las distintas opciones que se han comentado, dependiendo de lo que se quiera hacer, pues ya slo sera entrar en cada uno de ellos.

Antonio Illana Vlchez

2 ASI D.F.S.

S-ar putea să vă placă și