以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用户权限管理问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42288)

--  作者:cqlwsam
--  发布时间:2013/11/7 17:02:00
--  用户权限管理问题
患者预约系统中关于用户权限管理问题。具体问题是:每一个人员是耳鼻喉科的,他只能查看耳鼻喉科的病人,日历查询中只显示耳鼻喉科的病人、基本情况也只显示耳鼻喉科的病人;另外,另有一人,又负责眼科和口腔科的病人预约,基本情况需要显示眼科何耳鼻喉科的病人,而日历查询则需要分别显示口腔及眼科病人的预约情况。如何实现?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日历查询.table


--  作者:Bin
--  发布时间:2013/11/7 17:24:00
--  
根据用户组设置LoadFilter 或者Filter 即可啊
--  作者:cqlwsam
--  发布时间:2013/11/7 17:32:00
--  
流程应该是根据登录人员的角色进行筛选。首先需要获得登录人员的角色才行。我在看使用手册。呵呵。事件应该在载入数据前执行。

[此贴子已经被作者于2013-11-7 17:33:39编辑过]

--  作者:cqlwsam
--  发布时间:2013/11/7 17:43:00
--  
如何获取当前登录用户的角色?谢谢!
[此贴子已经被作者于2013-11-7 17:42:59编辑过]

--  作者:Bin
--  发布时间:2013/11/7 17:43:00
--  
http://www.foxtable.com/help/topics/0609.htm
--  作者:cqlwsam
--  发布时间:2013/11/7 19:10:00
--  
因为部分人员有多个角色,如何弄呀。
项目:LoadUserSetting
If User.Type = UserTypeEnum.Administrator Then
    DataTables("基本情况").loadfilter = ""
ElseIf user.Type=usertypeenum.Developer Then
    DataTables("基本情况").loadfilter = ""
Else
    Dim s As String = user.Roles
    DataTables("基本情况").loadFilter="预约科室=\'" & s & "\'"
End If
DataTables("基本情况").Load()

--  作者:有点甜
--  发布时间:2013/11/7 19:24:00
--  
 代码这样改一下。

If User.Type = UserTypeEnum.Administrator Then
    DataTables("基本情况").loadfilter = ""
ElseIf user.Type=usertypeenum.Developer Then
    DataTables("基本情况").loadfilter = ""
Else
    Dim s As String = user.Roles
    DataTables("基本情况").loadFilter="预约科室 in (\'" & s.Replace(",", "\',\'") & "\')"
End If
DataTables("基本情况").Load()