以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]权限管理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194533) |
-- 作者:qq51837000 -- 发布时间:2024/12/19 15:51:00 -- [求助]权限管理 导航栏中是各个表的链接,公共变量_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
|
-- 作者:有点蓝 -- 发布时间:2024/12/19 16:14:00 -- 到"左导航"afterload事件代码里调试。看看切换用户后,权限是否有问题 |
-- 作者:qq51837000 -- 发布时间:2024/12/19 16:22:00 -- 上图就是“左导航”窗口的afterload事件代码,切换后权限没有变化,还是上一个用户的权限 [此贴子已经被作者于2024/12/19 16:29:43编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/12/19 16:31:00 -- 所以让您添加调试,调试查看每一行代码执行的结果 |
-- 作者:qq51837000 -- 发布时间:2024/12/19 16:43:00 -- 找到原因了,原来是开发者账号登录的
|