|M| 500分第三贴:求做一个Web系统的权限的编程思想和数据库设计和具体实现(大家先不要给我你们的实例,先看看我设计的可行不可行)
因为时间关系我没有办法慢慢去理解你们给的实例
首先感谢roapzone(宗璞)) 因为实例实在是太强大了
还有hertcloud(·£孙子兵法£·) 虽然我还有没有去
以下是我的表
模块表
ID 模块名
1 汽车操作
2 火车操作
模块项目表
id 项目名
1 华南汽车票
2 华北汽车票
模块相应命令表
id 模块ID 项目ID 操作命令名
1 1 1 查看
2 1 2 下单
角色表
ID 角色
1 操作员
2 汽车操作员
角色操作设置
ID 角色ID 模块相应命令ID 是否可操作
1 1 1 1
2 1 2 0
用户角色设置
ID 用户ID 拥有角色ID
1 107 1
2 107 2
然后用页面命令前用
Authority(模块命令ID)==0?return;
类
public static Authority(Int 模块命令ID)
{
return sql查询当前用户相应模块命令ID的值
}
大家看看这样可不可以
谢谢
------解决方案--------------------终于拿到沙发了
------解决方案--------------------惭愧帮不上忙~
------解决方案--------------------看不出来表设计有什么问题啊
------解决方案--------------------可行.
但模块表和模块项目表可以合成一张表.相当于树的那种形式
模块相应命令表
id 模块ID 项目ID 操作命令名
模块id,项目id用一个字段就可.
操作命令是否还需要建一张表?
------解决方案--------------------RE:但模块表和模块项目表可以合成一张表.相当于树的那种形式
好像不行吧。。。不分开来的话没有办法选择他的父模块啊
还有:操作命令是否还需要建一张表?
我感觉命令是对应个模块的这个项目的这个操作,是唯一的不会有公共应该不用吧
------解决方案--------------------相当于一个多级菜单.
一级菜单就是模块.二级菜单就是页面.
2.因为我看到你写的是中文.
在管理界面用中文是比较容易操作,
在在程序中用中文去判断就不太好了.
------解决方案--------------------我最近一直在研究这个呢,到现在还没有什么头绪,帮你顶一下吧。
------解决方案--------------------太繁琐了,相当于拿个大铁锤见到钉子就砸一砸。你也许选择别的工具,甚至瑞士军刀,更有创意、更容易被用户愿意接受、用途更广。
------解决方案--------------------许多时候,用户需要直接指定人员,而不是角色。
许多时候,用户需要指定动态角色。例如:“帖子的发起人”或者“帖子所在板块的版主”等,当帖子转到不同版快之后,这个指派依然成立,但是指向不同的用户。动态指定的角色不是一个静态字符串名称。
很多时候,不能将“匿名用户”作为一个普通角色由用户去添加,最起码它是一个极其特殊的角色由系统预先添加好。
许多时候,用户需要临时将自己的权限授权给别人。
等等。
------解决方案--------------------up