以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自定义登录窗口  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=171207)

--  作者:lgj716330
--  发布时间:2021/8/22 10:15:00
--  [求助]自定义登录窗口
登录窗口显示的是下图中的测试人员,能正常登录,但登录后发现用户变成了系统设置的默认用户(AAA),会是哪里问题

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210822101247.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/8/22 10:24:19编辑过]

--  作者:lgj716330
--  发布时间:2021/8/22 13:29:00
--  
貌似好象是从办公室到自己房间更改了外部数据源连接IP之后出现这样的
--  作者:有点蓝
--  发布时间:2021/8/22 20:25:00
--  
自己设计的登录窗口,不能使用内置的用户变量user,要使用自己定义的变量

四、在全局代码中定义两个变量:

Public _UserName As String
Public
 _UserGroup As String


--  作者:lgj716330
--  发布时间:2021/8/22 20:55:00
--  
已经是这样定义了的,是不是要把原来的用户管理中的默认用户删掉呢
--  作者:有点蓝
--  发布时间:2021/8/22 21:02:00
--  
不需要删掉,不要使用内置的用户变量user即可
--  作者:lgj716330
--  发布时间:2021/8/22 21:21:00
--  
在登录及登录之前的相关代码中没有使用内置的用户变量user,登录后有些地方代码没改应该不影响的吧
--  作者:有点蓝
--  发布时间:2021/8/22 21:32:00
--  
不管是登录前,还是登录后,基本上就整个项目都不要使用内置的用户变量user。
--  作者:lgj716330
--  发布时间:2021/8/23 19:51:00
--  
Dim UserName As String = e.Form.Controls("UserName").Value
Dim UserGroup As String  = e.Form.Controls("UserGroup").Value
Dim UserRoles As String  = e.Form.Controls("UserRoles").Value
Dim Val1 As String = e.Form.Controls("PassWord").Value
Dim PassWord As String = E ncryptText(Val1,"a23","op#") \'加密
Dim OldUserName As String
Dim cmd As New S QLCommand
Dim Parts() As String = e.Form.Text.Split("-"c)
OldUserName =  Parts(Parts.Length -1)
cmd.C
If UserName = "" OrElse UserGroup = "" OrElse UserRoles = "" Then
    Messagebox.show("请输入用户名和用户分组和角色!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
cmd.C ommandText = "Update {Users} Se t [Name] = \'" & UserName & "\',[Group] = \'" & UserGroup & "\',[Roles] = \'" & UserRoles
cmd.C ommandText = cmd.C ommandText & "\', [Password] = \'" & Password & "\' Where [Name]= \'" & OldUserName & "\'"
If cmd.ExecuteNonQuery = 1 Then \'返回1表示更改成功
    If Forms("用户管理").Opened Then
        With Forms("用户管理").Controls("ListBox1")
            .Items(.S electedIndex) = UserName
        End With
    End If
    e.Form.Close
Else
    Messagebox.show("更改用户失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Dim Val2 As String = E ncryptText(PassWord,"a23","op#") \'加密

自定义用户管理中的“更改用户”按钮,发现每次更改用户改了分组或角色,密码也会自动改掉,登录的时候会提示密码错误

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210823194150.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2021/8/23 19:52:50编辑过]

--  作者:有点蓝
--  发布时间:2021/8/23 20:08:00
--  
Dim Val1 As String = e.Form.Controls("PassWord").Value
msgbox(Val1) \'原密码是否正确?
Dim PassWord As String = E ncryptText(Val1,"a23","op#") \'加密
msgbox(PassWord) \'加密后和保存早数据库的数据是否一致

登录的时候是怎么验证密码的?同样方法调试一下输入的密码和加密后的字符是否一致

--  作者:lgj716330
--  发布时间:2021/8/23 21:05:00
--  
更改用户,如果修改密码会分别显示下面这样

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看
再次更改用户,如果不修改密码,即使直接按确定,密码会变成上次的加密字符,如此类推

图片点击可在新窗口打开查看此主题相关图片如下:21.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2021/8/23 21:05:12编辑过]