以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享]临时调取窗口权限的方法  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=108041)

--  作者:scofields
--  发布时间:2017/10/14 19:50:00
--  [分享]临时调取窗口权限的方法
应用场景:窗口菜单通过目录树形式权限启用了权限控制,但有时管理层只是让下属临时动用一次权限,不想永久放开权限,于是设定一个buttons,开放一次临时权限,于是就需要根据下属想启用的权限名称来自定义启用权限,可以用下面的方法
\'以下代码用于临时获取权限
Dim Products As List(Of String)
Products = DataTables("临时表").SQLGetValues("临时密码")
For Each Product As String In Products 
   e.Form.controls("textbox5").text = Product
Next
Dim pwd As String
If InputPassWord(pwd,"提示","请输入临时调用密码") Then
   If pwd = e.form.controls("textbox5").text Then
    Dim psd3 As String
    InputValue(psd3,"菜单名称","请输入需要调用的菜单名称") \'输入需要启用的菜单名称
   For Each sit As WinForm.StripItem In e.Form.Strips("主菜单").Items
      If sit.Name = psd3 Then
        sit.Enabled = True
       End If
Next
else
  Return ‘调用临时密码不正确时返回原始权限
messagebox.show("密码不正确”)
    End If
End If

有什么更好的完善建议,欢迎大家提出宝贵的建议。代码完全出自于帮助文件的哦
[此贴子已经被作者于2017/10/14 19:50:40编辑过]

--  作者:有点甜
--  发布时间:2017/10/15 15:07:00
--  

你可以在权限那里加一列,比如【授权用户】【授权次数】【授权期限】【授权密码】之类的。

 

然后在你授权函数那里加入判断。

[此贴子已经被作者于2017/10/15 15:06:41编辑过]

--  作者:zhengboxin
--  发布时间:2017/10/16 9:50:00
--  
mark