ASP.NET - NESESITO UNA SUGERENCIA

 
Vista:

NESESITO UNA SUGERENCIA

Publicado por kamaleon (1 intervención) el 02/08/2009 04:40:32
Q TAL, ESTOY RECIEN ENTRANDO AL MUNDO DE ASP.NET (CON LENGUAJE VISUAL BASIC) DEL PAKETE VS 2005. MI DUDA ES ESTA:

HE DESARROLLADO UN CRITERIO DE ACCESO , PARA QUE AL MOMENTO DE Q UN USUARIO SE IDENTIFIQUE E INICIE SESION, KIERO QUEME DEN SU OPINION.

EL OBJETIVO QUE BUSCO ES Q CUANDO SE INICIE LA APLICAICON SE CARGUE LA TABLA USUARIO EN UN DATASET Y CUANDO ALGUN UDSUARIO DESEE AUTEBNTIFICARSE HAGA USO DEL DATASET , PIENSO Q SERIEA LA MANERA MAS OPTIMA, DEBIDO Q TE HACER USO DEL "CONEXION.OPEN" Y "CONEXION.CLOSE" NO SERIE MUY BUENA, YA Q LSO DEMAS USUSARIOS DEBERIAN ESPERAR MAS TIEMPO HASTA Q SE HAGA LA AUTENTIFICACION.. ESO ES LO Q A MI HUMILDE OPINION CREO, X FAVOR CORRIJAMNE SI ME EQUIVOCO... ACA LE SEXPLICO MEJOR EN DETALLES

1) EN EL ARCHIBO GLOBAL.ASAX ..

--------------
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Código que se ejecuta al iniciarse la aplicación
Application("estado") = True 'para verfificar q nos e carog el dataset de ususarios
Application("dataset") = 0 'guardar la referencia al dataset q usare para hacer la busqkeda de ususarios.
End Sub

--------------

2) EN EL ARCHIVO DEFAULT.ASPX.VB....EN EL EVENTO LOAD DEL FORM

-----
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load


If (Application("estado") = True) Then
Dim l_conexion As New OdbcConnection("Dsn=DATA")
Dim ad_usuario As OdbcDataAdapter

'se crea el comando
Dim l_comando_usuario As New OdbcCommand
Dim l_sentencia_usuario As String
l_sentencia_usuario = "SELECT * FROM usuario"

'se configura las propiedades del objeto comand
l_comando_usuario.CommandText = l_sentencia_usuario
l_comando_usuario.Connection = l_conexion

'se agrgega al objeto adapter el objeto comand
ad_usuario = New OdbcDataAdapter(l_comando_usuario)

Dim ds_DATA As DataSet
ds_DATA = New DataSet


ds_DATATables.Add("usuario")
ad_usuario.Fill(ds_DATA "usuario")

Application("estado") = False
Application("dataset") = ds_DATA
End If



End Sub

------

3) tengo el tipoco diseño de ingreso: 1 CAJA DE TEXTO PAR INGRESAR EL N,MBRE DE USUARIO Y OTRA CAJA DE TEXTO PARA INGRESAR LA CONTRASEÑA Y PRO ULTIMO EL BOTON DE ENVIO. TODOS ELLOS OSN CONTROLES WEBFORM

----EN EL EVENTO CLIK DE BOTON ENVIO
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Try

Dim expression As String
Dim lsclave As String
lsclave = ""

Dim dataset_ As DataSet
dataset_ = Application("dataset") 'ACA RECUPERO LA REFRENCIA AL DATASET Q NESESITARE PARA BUSCAR A LSO USUAIORS Y ASI AUTENTIFICARLOS

expression = "nombre=" + "'" + TextBox1.Text + "'"
Dim foundRow As DataRow
foundRow = dataset_.Tables(0).Select(expression)(0)

lsclave = foundRow(2).ToString

If (lsclave <> "") Then

'-----
Dim clave As String

clave = TextBox2.Text

Dim TextoEnBytes As Byte()
Dim HashEnBytes As Byte() 'Resultado en Bytes

TextoEnBytes = System.Text.Encoding.ASCII.GetBytes(clave)
Dim sha1 As New SHA1CryptoServiceProvider()
HashEnBytes = sha1.ComputeHash(TextoEnBytes)
clave = System.Text.Encoding.ASCII.GetString(HashEnBytes)

'-----

If (lsclave = clave) Then

'-----CREAR SESION

Session("usuario") = TextBox1.Text
'-----------------



Response.Redirect("otra/Default3.aspx")
Else
Response.Write("clave erroneaA")

End If
End If

Catch ex As Exception
Response.Write(ex.Message)
End Try


End Sub

----

4) EL CODIGO ME FUNCIONA BN, BUENO LO HE PROBADO SOLO EN MI MAQUINA A NIVEL DE LOCALHOST.

KIEOR Q ME DIGAN SI HAGO BN O SI EXISTE UN MECANISMO MEJOR Q ESTE O SUGERENCIAS , O SI ME FALTA ALGO IMPORTANTE .....TODAS SERAN BIENVENIDAS .MUXAS GRACIAS AMIGOS..

UN SALUDOS DESDE CHIMBOTE-PERU
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder