一个关于用户权限设置的问题?

yuanljx 2001-07-27 10:55:37
对于用户权限的设置,我设置了三个表:用户表、权限表、功能表 ,字段如下:
user:
username passwd powerno

power:
powerno powerrate funcno

function:
funcno funcname windowsname

现有一个问题,如果我的powerrate为:A ,则它对应的功能可能有多个,如:采购管理、销售管理、仓库管理等等,那我如何实现这些功能模块的存取?
...全文
166 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
neweb 2001-07-27
  • 打赏
  • 举报
回复
三个表这样:

User:
User_ID, UserName, Password
Power:
User_ID, FuncNo
Function:
FuncNo, FuncName, WindowsName

在 Power 表中放入用户拥有的权限, 比如:用户 "甲" 的User_ID 是 6, 拥有的功能号是 2,4,5; 那么Power 表应该有如下数据:
User_ID FuncNo
6 2
6 4
6 5
判断该用户的权限可以这样: 'select WindowsName from Function where FuncNo in (select FuncNo from Power where User_ID=' +User_ID+ ')'
Vincent_Jiang 2001-07-27
  • 打赏
  • 举报
回复
你的用户名和权限是不是一对一?
如果是,你这样设计就没必要了。
王集鹄 2001-07-27
  • 打赏
  • 举报
回复
数据用Memo或Text
程序用Strings的Values
比如:
with TStringList.Create do try
Text :=
'采购管理=False'#13#10 +
'销售管理=True'#13#10 +
'仓库管理=False'#13#10;
//Text := Table1.FieldByName('权限代码').AsString;
Button1.Visible := Values['采购管理'] = 'True';
Button2.Visible := Values['销售管理'] = 'True';
Button3.Visible := Values['仓库管理'] = 'True';
finally
Free;
end;
yuanljx 2001-07-27
  • 打赏
  • 举报
回复
我是一个初学者,那我如何设计一个用户的权限呢?
scripting 2001-07-27
  • 打赏
  • 举报
回复
其实我认为你这种结构复杂,不合理
yuanljx 2001-07-27
  • 打赏
  • 举报
回复
to:scripting
可以做个朋友吗?我的OICQ:54046001

我用的是oracle库,如何更改,请指教!
scripting 2001-07-27
  • 打赏
  • 举报
回复
分配权限时使用多选列表,划勾的id(NO) 用','或别的什么隔开
登陆时直接抄写这个powernos到全局变量如mypowners,
判断是否有权:当pos(funid,mypowners)>0、则pass
scripting 2001-07-27
  • 打赏
  • 举报
回复
改变表结构 username passwd powernos

powernos={.....} 例如 'a,b,c'
yuanljx 2001-07-27
  • 打赏
  • 举报
回复
那请问我该如何处理呢?
先谢谢了!!!
scripting 2001-07-27
  • 打赏
  • 举报
回复
username->pownerno->funcno->windowsname都是一对多关系?
yuanljx 2001-07-27
  • 打赏
  • 举报
回复
powerno 是用来连接上一个表的
yuanljx 2001-07-27
  • 打赏
  • 举报
回复
powerno:权限代码
powerrate:权限等级
scripting 2001-07-27
  • 打赏
  • 举报
回复
关系不清楚
powerrate和powerno是什么关系?
yuanljx 2001-07-27
  • 打赏
  • 举报
回复
求助!

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧