Autenticación mediante Active Directory + ASP.NET 2.0

Hola, Hola.

Siguiendo con los proveedores de datos de asp.net, ya sabes: Manejo de usuarios, Roles, Atenticacion y demas, que se puede usasr usando la api de asp.net que entre otras cosas contiene.

merbership

Aqui una serie de articulos con los cuales eh mostrado el manejo.

Pero este articulo es para hablasr de la integracion de los proveedores de mermbership con el Active Directory, tenia ganas de hacer una demo pero, no tengo un AD ah disposicion para hacer las prubas y ademas microsoft tiene un How-to, que lo explica muy bien este tema. Solo quiero decir que el proveedor a usar es ActiveDirectoryMembershipProvider.

How To: Use Forms Authentication with Active Directory in ASP.NET 2.0

Que lo disfruten.

Romny

Jornada Académica – Panorama de las tecnologías de desarrollo de software – Unisangil

Hola gente de geeks, bueno hacia raticos que no escribia, pero vuelvo a las andadas comentandoles de un evento que se realizo en nuestra universidad, como el titulo lo dice y lo deja claro, era dar un concepto de como esta el panorama en cuanto a las tecnologias, mas exactamente Softaware libre Vs Software propietario; Acompañado de una maratoncita de programación. jeje.

Este es el afiche.

Fondo_Pantalla

Si quieren ver el afiche con los temas a groso modo.

Lo interesante fue, que nuestro grupo dio las charlas de .NET ya que fueron tres.

  • Microsoft .NET Framework.
  • Desarrollo de una Aplicación Web con ASP.NET 2.0
  • Microsoft Visual Studio 2005 Team Suite

Agradesco a mi amigo Juan David, que me echo una mano con estas charlas.

En este link pueden ver algunas imagenes del evento.

IMG_0744 IMG_0732

IMG_0740

No soy el que orador, pero hay hice el intento. Tambie cabe decir que es mi primer evento que organizo y hago. jeje.

Romny.

Truquito Sql para trabajar con fechas & Edades

Hola a todos, bueno hace raticos que no escribo, pero es por ocupaciones.

En este articulo quiero explicarles como trabajar con fechas en la UI y las edades dese sql. Como sabran la edad es un campo calculado que por norma no se debe guardar en la BD, tambien deben saber que los campos datetime y smalldatetime se usan para guardar fechas, pero que pasa si no quiero guardar la hora, ya que estos campos la guardan automaticamente y precisamente eso es lo que el cliente no quiere ver en el formulario (la hora).

Usarenos a Northwind. Asi queda el formulario si hago un select normalito.

Fechas

Para arreglar esto usamos la funcion CONVERT de sql

   1: SELECT     LastName, FirstName, CONVERT(varchar(11), BirthDate, 103) AS BirthDate
   2: FROM         Employees

Fechas1

Algunos se preguntaran por que 103, bueno por que este es el codigo del convert que me devuelve la fecha en formato dd/mm/aa. Para mas informacion revicen el link.

http://technet.microsoft.com/es-es/library/ms187928.aspx

Resuelto este problema pasamos al de la edad.

   1: CASE WHEN MONTH(BirthDate) > MONTH(getdate()) THEN (YEAR(getdate()) 
   2: - YEAR(BirthDate) - 1) WHEN MONTH(getdate()) = MONTH(BirthDate) 
   3: AND DAY(BirthDate) > DAY(GETDATE()) THEN YEAR(GETDATE()) - YEAR(BirthDate) 
   4: - 1 ELSE YEAR(GETDATE()) - YEAR(BirthDate) END AS Edad

Fechas2

Como veran la edad la calcule tomando en cuenta los dias y meses del año actual.

Bueno, espero les ayude.

S@ludos.

Romny

El espacio a solo unos clics

Bueno ya comentame Miguel Llopis de que microsoft saco un nuevo producto. WorldWide Telescope es realmente un producto interesante, primero por su aplicabilidad y segundo que estimo que esta echo en WPF, Ya ven de lo que se puede hacer con esta tecnologia, y de por si que es facinante. Una imagnes para el deleite.

Espacio

Algo interesante son los refresh de nuestros acercamientos, son muy buenos, Realmente se lucieron con este producto.

Espacio1

S@ludos.

Romny

Tips para trabajar con los proveedores de datos de ASP.NET

Me hicieron un consulta de como integrar los proveedores de datos de asp.net con nuestra aplicacion; Aqui voy a dar unos pequeños tips de como hacer eso.

Lo primero que debemos hacer es entender un poco el funcionamiento de los mismo y si comenzamos con el tema, la mejor forma para estudiar es estudiar el codigo de aplicaciones ya existentes que no nos ofrece asp.net con los Starter Kit, estos nos ofrecen una clara forma de como integrarlos con nuestra aplicacion.

Hay que tener algo bien claro y es que cuando ejecutamos la herramienta de administracion esta nos crea una base de datos nueva, y bueno la verdad no queremos esto ya que los usuarios no se almacenaran en nuestra BD con la que vamos a trabajar.

rol1

En este post nos muestra como agregar las nuevas tablas en nuestra bd.

Pero como hacemos para que cuando ejecutemos la herramienta de administracion no nos cree la nueva base de datos. En el web.config agregamos las siguientes lineas de codigo.

   1: <membership defaultProvider="AspNetSqlMembershipProvider">
   2: <providers>
   3: <clear/>
   4: <add name="AspNetSqlMembershipProvider" connectionStringName="SCRUMRConnStr" applicationName="SCRUM" 
   5: type="System.Web.Security.SqlMembershipProvider, System.Web, &#xA;Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>
   6: </providers>
   7: </membership>
   8: <roleManager enabled="true">
   9: <providers>
  10: <remove name="AspNetSqlRoleProvider"/>
  11: <add connectionStringName="SCRUMRConnStr" applicationName="SCRUM" name="AspNetSqlRoleProvider" 
  12: type="System.Web.Security.SqlRoleProvider, &#xA;System.Web, Version=2.0.0.0, Culture=neutral, &#xA;PublicKeyToken=b03f5f7f11d50a3a"/>
  13: </providers>
  14: </roleManager>

En los Starter Kit podran ver por ejemplo como trabajar tablas con nuestros usuarios.

Dejo algunos link de interes de este tipo

http://geeks.ms/blogs/sergiotarrillo/archive/2007/12/13/56926.aspx

http://geeks.ms/blogs/fjcarbajosa/archive/2007/02/22/membres-a-de-asp-net-2-0-i.aspx

http://geeks.ms/blogs/eecsaky/archive/2006/10/01/Personalizando-las-aplicaciones-Web-_2800_III_2900_.aspx

http://geeks.ms/blogs/mrubino/archive/2008/01/27/custom-membershipprovider-y-roleprovider.aspx

Espero que los oriente un poco mas con este tema.

S@ludos

Romny

Pruebas de stress y de carga son para hacerlas en el server

Por sugerencia de Sergio estube revisando la serie de cazando mitos y bueno incursione en el mundo de pruebas de stress y de carga y bueno quise probar esto con una aplicacion, realmente me sorprendio este tema y lo exelente que es para mostrar resultados, cabe resaltar que hice la prueba contra mi maquina de desarrollo, no es muy potente pero hace lo necesario.

Los resultados que arrojo la prueba fue que el problema es mi maquina, la aplicacion como tal paso la prueba. Realmente si quieren hacer pruebas hagalas cotra un servidor hacia sea el de test o produccion.

El grafico realmente preocupa.

test

S@aludos.

Romny

Arreglando Intellisence de VS

H@la. Tuve un problemita con mi VS despues de hacer unos cambios en el y por tal motivo en las paginas de codigo por ejemplo Default.asp.cs el intellisence no se comportaba como deberia de ser.

Primero no se desplegaba con solo digitar palabras.

Segundo; tocaba dar Ctr + space para que mostrara dicho intellisence.

La solucion salomica para este problemita fue con la opcio de Importar y Exporta configuraciones.

Importar

Podemos guardar la configuracion actual, o simplemente restablecer la configuracion. En mi caso no queria guardar la configuracion.

Importar1

Escogemos que tipo de confiuracion queremos.

Importar2

Y voala todo bien.

Importar3

S@ludos.

Romny

[AutoCompleteExtender] Mejora la UI en nuestra App

H@la.

Quisiera hablar del componente AutoCompleteExtender del Control Tool Kit para Asp.Net Ajax.

Este componente ayuda mucho a la UI, para no sobrecargar la interfaz y hacerla mas agradable para el cliente, Imaginense el siguiente ecenario, tienen una tabla donde se almacenan codigos, los cuales tienes que enlazarlo con un control para que el usuario pueda ver y escojer dicho codigo. No parece nada del otro mundo, pero que pasa si la descripcion del cosigo es excesavamente larga y cuando lo enlazas al control Upsss, desborda el formulario y ya realmente la UI no se ve muy bien.

Pues bien lo que podriamos hacer es usar AutoCompleteExtender y bien enlazarlo con el codigo o con la descripcion, realmente como desees.

Primero miremos como quedaria el web service para que a medida que yo digite aparesca las concordancias de la BD con ese campo. El metodo quedaria haci.

   1: public string[] GetCie(string prefixText, int count)
   2:    {
   3:        List<string> items = new List<string>(count);
   4:        DataSet ds = new DataSet();
   5:  
   6:        string connectionString = "Data Source=(local);Initial Catalog=XXXX;Integrated Security=SSPI;";
   7:        using (SqlConnection connection = new SqlConnection(connectionString))
   8:        {
   9:            string sql = "SELECT CIE_Codigo FROM Tb_CIE10 WHERE CIE_Codigo LIKE '" + prefixText + "%'";
  10:            SqlDataAdapter adapter = new SqlDataAdapter();
  11:            adapter.SelectCommand = new SqlCommand(sql, connection);
  12:            adapter.Fill(ds);
  13:        }
  14:  
  15:        foreach (DataRow dr in ds.Tables[0].Rows)
  16:        {
  17:            items.Add(dr["CIE_Codigo"].ToString());
  18:        }
  19:  
  20:        return items.ToArray();
  21:    }

no olviden colocar esto al comenzar el web service,

   1: [System.Web.Script.Services.ScriptService]

Segidamente en el control de AutoCompleteExtender colocomos el metodo  que usara y le hacignamos el control al cual le voy ah pasar la funcionalidad de ajax.

AutoCompleteExtender

Basicamente de este modo nos podemos quitar varios dolores de cabeza, tratando de cuadrar la UI.

S@ludos.

Romny