Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[原创]权限问题(已解决!)

1楼
exonjee 发表于:2011/7/21 10:56:00

设计了一个用户权限管理表,在项目事件中MainTableChanging写入以下代码,但在程序登录输入完成用户名和密码(成功登录后会给全局变量_username赋值用户名,这个用户名在用户权限表中也是存在的,也同时已分配打开表的权限)后会自动关闭程序进程退出,请教此段代码有问题吗?项目事件中MainTableChanging和登录窗口执行有冲突吗?怎样调整?

 

Dim dr As DataRow
dr=DataTables("用户权限").find("用户='" & _username & "' and 表名='" & e.newtablename & "' and 停用=0")
If dr IsNot Nothing Then
    Vars("QX_gridname")=dr("表名")
    Vars("QX_opengrid")=dr("打开表")
    If vars("QX_opengrid")=True The
        MainTable=Tables(vars("QX_gridname"))
        DataTables(vars("QX_gridname")).allowedit=Vars("QX_editgrid")
    Else
        e.cancel=True
        messagebox.show("您无权限打开所选表,请和系统管理员联系!","提示")
    End If
Else
    e.cancel=True
    messagebox.show("当前用户权限未分配,请检查权限分配表,和系统管理员联系!","提示")
End If
End If

 

设想是在切换表时,先读取用户权限表,然后判断能否打开程序和分配相应的权限。

[此贴子已经被作者于2011-7-21 16:05:23编辑过]
2楼
狐狸爸爸 发表于:2011/7/21 11:01:00
为啥不直接在AfterOpenProject事件设置代码,隐藏禁止登录用户使用的表。
3楼
exonjee 发表于:2011/7/21 11:06:00

想动态管理用户权限,还有很多权限没有列出来,比如打印,锁定行等共有20个单独权限和表相关,这20个单独权限每个表可以动态设置管理的。

4楼
exonjee 发表于:2011/7/21 11:17:00
可能有几百个用户,有很多个分组,分组用户的权限采用基本配置,针对个别的用户可采取动态配置,所以需要这样的设计,请问这个问题如何解决,是什么原因引起报错?
5楼
exonjee 发表于:2011/7/21 11:23:00

请教老大如何解决这个问题?

6楼
狐狸爸爸 发表于:2011/7/21 11:45:00

报错原因,要有例子才能知道。

建议这种禁止表的功能,还是设置在AfterOpenProject事件中为好。

7楼
exonjee 发表于:2011/7/21 16:05:00

取消了在项目事件中的定义,通过自定义函数已实现获取权限!

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.