Foxtable(狐表)用户栏目专家坐堂 → [求助]已经按照帮助说明自定义了用户登录界面,并将用户信息保存到SQL了,现在想在计划管理或者状态栏里引用自定义的当前登录用户的的名称,哪位老师给说一声应该怎么引用啊!


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

主题:[求助]已经按照帮助说明自定义了用户登录界面,并将用户信息保存到SQL了,现在想在计划管理或者状态栏里引用自定义的当前登录用户的的名称,哪位老师给说一声应该怎么引用啊!

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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/2 13:23:00 [显示全部帖子]

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

Public _UserName As String
Public
 _UserGroup As String

_UserName用户保存当前登录用户的名称,_UserGroup用于保存该用户的分组。


……


总结

经过上述10个步骤的设计,我们已经建立了自己的用户管理和登录系统,用户登录后,用户名保存在全局变量_User中,用户分组保存在全局变量_UserGroup中。

我们只需对原来的权限代码稍作修改,即可适用自定义的用户管理系统,例如原来的代码为:

If User.Group = "经理" Then
    DataTables
("表A").AllowEdit = True
Else
    DataTables
("表A").AllowEdit = False
End
 
If

现在只需改为:

If _UserGroup = "经理" Then
    DataTables
("表A").AllowEdit = True
Else
    DataTables
("表A").AllowEdit = False
End
 
If

可以看出,自定义的用户管理系统,在应用上和内置的不会有任何差别。

不过使用自定义用户管理系统的时候,需要注意 事件触发顺序,由于自定义的用户登录窗口是在AfterOpenProject事件中打开,意味着在此事件之前触发执行的事件,是不能使用_UserName和_UserGroup变量的。
例如有的用户希望使用动态加载功能,在用户登录后,订单表只加载业务员为登录用户的订单,所有在项目事件BeforeLoadInnerTable设置了代码:

If e.DataTableName = "订单" Then
    e.Filter = 
"业务员 = '" & _UserName & "'"
End
 If


 回到顶部