-- cambio de función de cambio de contraseña desde login. de clsususario a clsusiariovalidación

This commit is contained in:
2024-08-27 20:34:11 -07:00
parent 6940f7cbff
commit ab3403b9a1
4 changed files with 53 additions and 106 deletions

View File

@@ -354,6 +354,7 @@ Public Class ClsSisUsuarioAutenticacion
Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate() Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate()
Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate() Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate()
Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False) Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False)
Retorno.PolCambiarContraseña = If(Data.Rows(0)("PolCambiarContraseña").ToString() = "SI", True, False)
Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero() Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero()
'* '*
Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero() Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
@@ -400,6 +401,35 @@ Public Class ClsSisUsuarioAutenticacion
Return Retorno Return Retorno
End Function End Function
Public Function UpdateUsuarioContrasenia(Contrasenia As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("UPDATE U SET [Contraseña] = @Contrasenia, FechaUltimoCambioContraseña = GETDATE() FROM Usuarios U WHERE U.CveUsuario = @CveUsuario ", CommandType.Text)
With SqlAdapter.SelectCommand.Parameters
.Add("@Contrasenia", SqlDbType.VarChar).Value = Contrasenia
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
Alert("Ya existe un Usuario con el mismo nombre: " & Usuario & ".", TipoMensaje.MsgAdvertencia)
Else
Me.OnError("Ocurrió un error al guardar los cambios en el Usuario", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
Catch ex As Exception
OnError("Ocurrió un error al guardar los cambios en el Usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
'Public Function ValidaUsuarioAsignacion(CveUsuario As Integer, CveEmpresa As Integer) As Usuario 'Public Function ValidaUsuarioAsignacion(CveUsuario As Integer, CveEmpresa As Integer) As Usuario
' Dim Retorno As Usuario = Nothing ' Dim Retorno As Usuario = Nothing

View File

@@ -723,34 +723,6 @@ Public Class ClsSisUsuarios
Return Retorno Return Retorno
End Function End Function
Public Function UpdateUsuarioContrasenia(Contrasenia As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("UPDATE U SET [Contraseña] = @Contrasenia, FechaUltimoCambioContraseña = GETDATE() FROM Usuarios U WHERE U.CveUsuario = @CveUsuario ", CommandType.Text)
With SqlAdapter.SelectCommand.Parameters
.Add("@Contrasenia", SqlDbType.VarChar).Value = Contrasenia
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
Alert("Ya existe un Usuario con el mismo nombre: " & Usuario & ".", TipoMensaje.MsgAdvertencia)
Else
Me.OnError("Ocurrió un error al guardar los cambios en el Usuario", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
Catch ex As Exception
OnError("Ocurrió un error al guardar los cambios en el Usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function RemoveUsuario(CveUsuario As Integer) As Boolean Public Function RemoveUsuario(CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -28,7 +28,7 @@ Public Class Usuario
Public Property CveSubProyecto As Integer Public Property CveSubProyecto As Integer
Public Property FechaUltimoAcceso As Date Public Property FechaUltimoAcceso As Date
Public Property FechaUltimoCambioContraseña As Date Public Property FechaUltimoCambioContraseña As Date
'Public Property PolCambiarContraseña As Boolean Public Property PolCambiarContraseña As Boolean
Public Property ActCambiarContraseña As Boolean Public Property ActCambiarContraseña As Boolean
Public Property CveProveedor As Integer Public Property CveProveedor As Integer
Public Property CveVendedor As Integer Public Property CveVendedor As Integer

View File

@@ -116,35 +116,25 @@ Partial Class LogIn
PnlLogin.Visible = False PnlLogin.Visible = False
If elapsedSpan.Days < 3 Then If elapsedSpan.Days < 3 Then
Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper())
Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexionDominio(Request.Url.Host.ToUpper())
Dim Usr As New ClsSisUsuarios Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
If Usr.GetUsuarios(CveUsuario, -1, -1) Then Dim Usuario As Usuario = ObjUsuario.GetUsuarioDetalle(CveUsuario, CveEmpresa:=CveEmpresa)
Dim dr As DataRow = Usr.DtResultados.FiltroPrimero("") If Usuario IsNot Nothing Then
If Usuario.PolCambiarContraseña Then
If dr IsNot Nothing Then PnlContra.Visible = True
If dr("PolCambiarContraseña").ToString = "SI" Then Me.Form.DefaultButton = BtnGuardar.ClientID
PnlContra.Visible = True
'HCambio.Visible = True
'HdnCveUsr.Value = CveUsuario.ToString
Me.Form.DefaultButton = BtnGuardar.ClientID
'If Usr.UpdateUsuarioPortal(dr("Usuario").ToString, dr("Nombre").ToString,
' dr("Permiso1").ToString = "True", dr("Permiso2").ToString = "True", dr("Permiso3").ToString = "True", dr("Permiso4").ToString = "True", dr("Permiso5").ToString = "True",
' dr("Permiso6").ToString = "True", dr("Permiso7").ToString = "True", dr("Permiso8").ToString = "True", dr("Permiso9").ToString = "True", dr("Permiso10").ToString = "True",
' True, TxtContrasenia1.Text, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, CveUsr) Then
' Alert("Contraseña Modificada.", TipoMensaje.MsgConfirmacion, JSBtnAceptar:="location.href=""ConsultaCliente.aspx""")
'End If
Else
Alert("El usuario ya cambio su contraseña, inicie sesión normalmente.", TipoMensaje.MsgInformacion)
PnlLogin.Visible = True
End If
Else Else
Alert("El Usuario no existe", TipoMensaje.MsgError) Alert("El usuario ya cambio su contraseña, inicie sesión normalmente.", TipoMensaje.MsgInformacion)
PnlLogin.Visible = True
End If End If
Else
Alert("El Usuario no existe", TipoMensaje.MsgError)
End If End If
Usr.Dispose() ObjUsuario.Dispose()
Usuario = Nothing
Else Else
Alert("La Activación expiró", TipoMensaje.MsgError) Alert("La Activación expiró", TipoMensaje.MsgError)
End If End If
@@ -177,20 +167,6 @@ Partial Class LogIn
Return URLParametros Return URLParametros
End Function End Function
'Property GlobalDTUsuarios(Optional CveUsuario As Integer = -1, Optional CveEmpresa As Integer = -1) As Data.DataTable
' Get
' If CveUsuario <> -1 Then
' Dim Dv As New Data.DataView(DirectCast(Application("GlobalDTUsuarios"), Data.DataTable), "CveUsuario =" & CveUsuario, "", Data.DataViewRowState.CurrentRows)
' GlobalDTUsuarios = Dv.ToTable
' Dv.Dispose()
' Else
' GlobalDTUsuarios = DirectCast(Application("GlobalDTUsuarios"), Data.DataTable)
' End If
' End Get
' Set(value As Data.DataTable)
' Application("GlobalDTUsuarios") = value
' End Set
'End Property
Dim BtnLogIn_Clickenter As Integer = 0 Dim BtnLogIn_Clickenter As Integer = 0
Protected Sub BtnLogIn_Click(ByVal sender As Object, ByVal e As EventArgs) 'Handles CmdLogIn.Click Protected Sub BtnLogIn_Click(ByVal sender As Object, ByVal e As EventArgs) 'Handles CmdLogIn.Click
Dim ReturnUrl As String = "/" Dim ReturnUrl As String = "/"
@@ -218,7 +194,6 @@ Partial Class LogIn
If Usuario IsNot Nothing Then If Usuario IsNot Nothing Then
If Not Usuario.AutorizadoxIP OrElse (HddAdsCodex.Text.Length > 0 AndAlso Usuario.CodigoAutorizado = HddAdsCodex.Text) Then If Not Usuario.AutorizadoxIP OrElse (HddAdsCodex.Text.Length > 0 AndAlso Usuario.CodigoAutorizado = HddAdsCodex.Text) Then
'CreaObjetoEmpresa(Usuario, NombreCadena)
ADSSessionConfig.sessionUser.MultipleEmpresa = True ADSSessionConfig.sessionUser.MultipleEmpresa = True
Dim x As New ADSSessionObj(Usuario.CveUsuario, Usuario.CveEmpresa) Dim x As New ADSSessionObj(Usuario.CveUsuario, Usuario.CveEmpresa)
@@ -227,21 +202,14 @@ Partial Class LogIn
If Usuario.CvePlataforma = 6 And Usuario.CveRol = 10 Then If Usuario.CvePlataforma = 6 And Usuario.CveRol = 10 Then
'PLATAFORMA PORTAL CLIENTE 'PLATAFORMA PORTAL CLIENTE
'FormsAuthentication.RedirectFromLoginPage(_sessionid, False)
'Response.Redirect("/PortalCliente/PortalCliente.aspx", True)
ReturnUrl = "/PortalCliente/PortalCliente.aspx" ReturnUrl = "/PortalCliente/PortalCliente.aspx"
If Usuario.CveEmpresa = 194 Then ReturnUrl = "/Ventas/RepPedidosSTF.aspx"
ElseIf Usuario.CvePlataforma = 7 And Usuario.CveRol = 11 Then ElseIf Usuario.CvePlataforma = 7 And Usuario.CveRol = 11 Then
'PLATAFORMA PORTAL PROVEEDOR 'PLATAFORMA PORTAL PROVEEDOR
'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
'Response.Redirect("/PortalProveedor/PortalProveedor.aspx", True)
ReturnUrl = "/PortalProveedor/PortalProveedor.aspx" ReturnUrl = "/PortalProveedor/PortalProveedor.aspx"
ElseIf Usuario.CveRol = 1200 And Usuario.Acceso > 0 Then ElseIf Usuario.CveRol = 1200 And Usuario.Acceso > 0 Then
'PLATAFORMA GPS 'PLATAFORMA GPS
Usuario.CvePlataforma = 3 Usuario.CvePlataforma = 3
'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
'Response.Redirect("/PortalGPS/InicioGPS.aspx", True)
ReturnUrl = "/PortalGPS/InicioGPS.aspx" ReturnUrl = "/PortalGPS/InicioGPS.aspx"
Else Else
'PLATAFORMA SIG 'PLATAFORMA SIG
@@ -308,51 +276,28 @@ Partial Class LogIn
End If End If
End Function End Function
'Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario, Optional NombreCadena As String = "Conexion")
' Dim ObjEmpresa As New ClsSisEmpresas(UsuarioActual:=UsuarioActual)
' If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
' If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
' Dim EmpresasFuncionalidades As New HybridDictionary
' For Each Row As Data.DataRow In dttmp.Rows
' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
' Next
' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
' End If
' UsuarioActual.Empresa = ObjEmpresa.Empresa
' Else
' End If
' ObjEmpresa.Dispose()
'End Sub
Dim BtnGuardar_Clickenter As Integer = 0 Dim BtnGuardar_Clickenter As Integer = 0
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
If BtnGuardar_Clickenter = 0 Then 'esta variable se recicla con cada postaback If BtnGuardar_Clickenter = 0 Then 'esta variable se recicla con cada postaback
BtnGuardar_Clickenter = 1 BtnGuardar_Clickenter = 1
Dim TieneError As Boolean = False Dim TieneError As Boolean = False
Dim ObjUsuario As New ClsSisUsuarios Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper())
Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexionDominio(Request.Url.Host.ToUpper())
Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
If ObjUsuario.UpdateUsuarioContrasenia(Encripta(TxtContrasenia1.Text), CveUsuario, CveEmpresa) Then If ObjUsuario.UpdateUsuarioContrasenia(Encripta(TxtContrasenia1.Text), CveUsuario, CveEmpresa) Then
If ObjUsuario.GetUsuarios(CveUsuario) Then Dim Usuario As Usuario = ObjUsuario.GetUsuarioDetalle(CveUsuario, CveEmpresa:=CveEmpresa)
If ObjUsuario.DtResultados.Rows.Count = 1 Then
Dim dr As DataRow = ObjUsuario.DtResultados.Rows(0)
txtUsuario.Text = dr("Usuario").ToString If Usuario IsNot Nothing Then
Dim Contraseña As String = Decripta(dr("Contraseña").ToString) txtUsuario.Text = Usuario.Usuario
TxtContraseña.Text = Contraseña TxtContraseña.Text = TxtContrasenia1.Text
Else
TieneError = True
End If
Else Else
TieneError = True TieneError = True
End If End If
Else Else
TieneError = True TieneError = True
End If End If
ObjUsuario.Dispose() ObjUsuario.Dispose()
If Not TieneError Then If Not TieneError Then