以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助权限控制问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82690)

--  作者:blsu33
--  发布时间:2016/3/22 21:46:00
--  [求助权限控制问题
红袍老师,
   服务器端控制客户端权限,控制代码是写在控件中还是写在表事件中控制呢?

    写在控件中,弊端需要写的地方多;写在全局表事件,是根据什么控制的呢,能给举个例子吗
[此贴子已经被作者于2016/3/22 21:50:23编辑过]

--  作者:大红袍
--  发布时间:2016/3/22 22:27:00
--  

不是说过了?

 

写在控件的,是精确的控制,写在表事件的,是总体的控制。


--  作者:blsu33
--  发布时间:2016/3/22 22:35:00
--  
老师,
  表事件怎么判断 怎么做 

--  作者:大红袍
--  发布时间:2016/3/22 22:38:00
--  

 写一个授权的内部函数,触发事件的时候,向服务器请求是否拥有权限,没有权限的,就做对应操作。

 

 和这个一样 http://www.foxtable.com/help/topics/2405.htm

 


--  作者:blsu33
--  发布时间:2016/3/22 22:46:00
--  
老师,
  5、使用说明

实际使用的时候,要判断登录用户是否具备特定的权限是很简单的,例如判断用户是否具备批准订单的权限:

If Functions.Execute("ShouQuan","订单管理","批准订单") Then
    
\'用于批准订单的代码
End If

再例如判断用户是否具备生产管理分组的全部权限:

If Functions.Execute("ShouQuan","生产管理","") Then
    \'代码

End If



在全局表事件 中 怎么够造使用这个 授权函数

--  作者:大红袍
--  发布时间:2016/3/22 22:52:00
--  
 你要把上面的代码写到全局表事件才能使用。
--  作者:blsu33
--  发布时间:2016/3/22 22:53:00
--  
例如 beforadddatarow
  发送 datatable.name 判断 是否有增加行的权限,这个可以
但是datarowchanged
    发送 datatable.name 判断 是否有修改行的权限,是这么做吗

--  作者:大红袍
--  发布时间:2016/3/22 22:55:00
--  

比如发送 表名、列名过去,那么服务器肯定是根据 表名、列名以及用户名,查找权限嘛,然后返回一个信息,不就知道有没有权限了?


--  作者:blsu33
--  发布时间:2016/3/22 23:06:00
--  
功能上呢  是增加删除还是修改 审核 查询 这个怎么弄呢
[此贴子已经被作者于2016/3/22 23:06:25编辑过]

--  作者:大红袍
--  发布时间:2016/3/22 23:30:00
--  
 和你原本做的一样,只是多了一个向服务器发送信息的过程。