关于系统的权限设计
一个web管理系统,怎么样来分配权限?应该怎么设计?请高人指教 
 qq   2770967
------解决方案--------------------用户--角色--功能 
 简单的说:角色绑定到功能上.如角色1绑定到菜单1,菜单2;角色2可以绑定到菜单1,菜单3; 
 然后用户绑定到角色.可以拥有多个角色.如user1有角色1,角色2,user2有角色2. 
 那么结果权限就出来了:就是user1可以操作菜单1,菜单2;菜单3;而user2只能操作菜单3; 
 希望可以给你帮助
------解决方案--------------------楼上的方法不错 而且这样容易扩展 最近做的项目里就用到了   
 可以参考windows操作权限发分配
------解决方案--------------------Sunny319说的没错我也是这样做的 
 简单实现:建3个表(用户表tbl_user,角色表tbl_role,权限表tbl_pri) 
 tbl_user中的字段 
 userId(用户id) account password roleId(对应角色id) ... 
 tbl_role中的字段 
 roleId(角色id) roleName ...  
 tbl_pri中的字段 
 priId(权限id) roleId(对应角色id) url(有权限看的页面)... 
 当然你可以另外建一个表专门记录url的这样就更方便管理,还可以根据这个表得出菜但== 
 还可以设置对具体页面是否有查看、编辑、添加等功能
------解决方案--------------------数据库表结构 
 1. 功能点表 
 表名:scopeManage_function 
 功能:记录所有功能点基本信息。 
 简介: 
 字段: 
 序号	字段	类型及长度	是否为空	字段说明	备注 
 1	functionId	Int(4)	否	功能编号	自增长 
 2	functionAlias	VarChar(10)	否	功能别名	英文名称 
 3	functionName	VarChar(50)	否	功能名称	 
 备注:      
 2. 角色表 
 表名:scopeManage_role 
 功能:记录所有角色的信息。 
 简介: 
 字段: 
 序号	字段	类型及长度	是否为空	字段说明	备注 
 1	roleId	Int(4)	否	角色编号	自增长 
 2	roleName	VarChar(50)	否	角色名称	 
 备注:      
 3. 角色与功能关系表 
 表名:scopeManage_roleFunctionRelation 
 功能:记录某个角色和该角色所属功能之间的关系。 
 简介: 
 字段: 
 序号	字段	类型及长度	是否为空	字段说明	备注 
 1	roleId	Int(4)	否	角色编号	 
 2	functionId	Int(4)	否	功能编号	 
 备注:      
 4. 角色与用户关系表 
 表名:scopeManage_roleUserRelation 
 功能: 
 简介:记录某个用户和该用户角色之间的关系。 
 字段:   
 序号	字段	类型及长度	是否为空	字段说明	备注 
 1	roleId	Int(4)	否	角色编号	 
 2	userId	VarChar(10)	否	用户编号	   
 备注:      
 5. 用户表 
 表名:user 
 功能:  
 简介:这是个临时的表,这张表要根据具体的项目而设计。不过设计的时候表名要用 user,用户编号,用户姓名和密码要用,userId,userName和userPsWd。 
 字段: 
 序号	字段	类型及长度	字段说明	备注 
 1	userId	VarChar(10)	用户编号	 
 2	userName	VarChar(30)	用户姓名	 
 3	userPsWd	VarChar(20)	用户密码	 
 4	depaId	Int(4)	所属部门编号	 
 5	depaName	VarChar(30)	所属部门名称	 
 6	habitus	Int(1)	用户状态	0,为删除状态 
 备注:      
 6. 部门类型表 
 表名:scopeManage_depaType 
 功能:记录部门类型的信息(包括类型编号和类型名称)。  
 简介: 
 字段: 
 序号	字段	类型及长度	字段说明	备注 
 1	depaTypeId	Int(4)	部门类型编号	 
 2	depaTypeName	VarChar(50)	部门类型名称	 
 备注:      
 7. 部门信息表 
 表名:scopeManage_department 
 功能:记录部门的基本信息及部门之间的等级关系。 
 简介: 
 字段: 
 序号	字段	类型及长度	字段说明	备注 
 1	depaId	Int(4)	部门编号	 
 2	depaName	VarChar(30)	部门名称	 
 3	superDepaId	Int(4)	上级部门编号	 
 4	superDepaName	VarChar(30)	上级部门名称	 
 5	depaTypeId	   Int(4)	部门类型编号	 
 6	depaTypeName	VarChar(30)	部门类型名称