Foxtable(狐表)用户栏目专家坐堂 → [求助]权限管理


  共有107人关注过本帖树形打印复制链接

主题:[求助]权限管理

帅哥哟,离线,有人找我吗?
qq51837000
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
[求助]权限管理  发帖心情 Post By:2024/12/19 15:51:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:截图_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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/12/19 16:14:00 [只看该作者]

到"左导航"afterload事件代码里调试。看看切换用户后,权限是否有问题

 回到顶部
帅哥哟,离线,有人找我吗?
qq51837000
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
  发帖心情 Post By:2024/12/19 16:22:00 [只看该作者]

上图就是“左导航”窗口的afterload事件代码,切换后权限没有变化,还是上一个用户的权限
[此贴子已经被作者于2024/12/19 16:29:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/12/19 16:31:00 [只看该作者]

所以让您添加调试,调试查看每一行代码执行的结果

 回到顶部
帅哥哟,离线,有人找我吗?
qq51837000
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
  发帖心情 Post By:2024/12/19 16:43:00 [只看该作者]

找到原因了,原来是开发者账号登录的

 回到顶部