此主题相关图片如下:截图_20241219152907.png
导航栏中是各个表的链接,公共变量_UserDaoHang是登录用户可浏览的各链接的名称字符串
我做了个用户切换功能,使用用户登录窗口,代码如下,但直接切换用户后浏览权限没有变换过来
每次启动程序时浏览权限都是正常的,请老师帮查一下是不是我的代码哪里有问题?
登录按钮代码:
Dim ZH As WinForm.TextBox = e.Form.Controls("TextBox_账号")
Dim MM As WinForm.TextBox = e.Form.Controls("TextBox_密码")
Dim GB As WinForm.Button = e.Form.Controls("Button_关闭")
'1登录验证
If ZH.Text = "" Then
Messagebox.show("登录帐号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return
End If
'2检查账号是否正确 _UserTable为启动时生成的用户表的临时表
Dim fr As DataRow = _UserTable.Find("[登录账号] ='" & ZH.Text & "'")
If fr Is Nothing Then
MessageBox.show("账号或密码错误!", "提示")
Return
End If
'3检查账号是否停用
If fr("停用状态") = True Then
MessageBox.show("账号已被停用,请联系管理员", "提示")
Return
End If
'4检查密码是否正确
If fr("登录密码") = MM.Text Then
'5密码正确就登录并赋值给用户变量
_UserID = fr("用户ID")
_UserName = fr("用户姓名")
_UserGongSi = fr("公司")
_UserBuMen = fr("部门")
_UserZBM = fr("子部门")
_UserBMFenZu = fr("部门分组")
_UserJueSe = fr("用户角色")
_UserZhiNeng = fr("用户职能")
_UserFenZu = fr("用户分组")
_UserZhangHao = fr("登录账号")
_UserDaoHang = fr("导航可见")
fr("最后登录时间") = Date.Now
fr("登录次数") += 1
fr.save
e.Sender.Enabled = False
MM.Enabled = False
ZH.Enabled = False
GB.Enabled = False
Dim pb As WinForm.ProgressBar = e.Form.Controls("进度条")
pb.Visible = True
pb.Minimum = 0
pb.Maximum = 100
pb.Value = 1
e.Form.Controls("Button_登录").Text = "登录中……"
Application.DoEvents()
pb.Value = 99
MainTable = Tables("首页")
If Forms("左导航").Opened Then Forms("左导航").Close '''''关闭导航是为切换用户时重新分配权限
Forms("上横幅").Show()
Forms("左导航").Show()
e.Form.Close
Else
MessageBox.show("账号或密码错误!", "提示")
End If
到"左导航"afterload事件代码里调试。看看切换用户后,权限是否有问题
上图就是“左导航”窗口的
afterload事件代码,切换后权限没有变化,还是上一个用户的权限
[此贴子已经被作者于2024/12/19 16:29:43编辑过]