求关于用户权限方面的资料或者源码
谁有用户权限管理方面的资料,最好是有文档 和代码的
要有 user role group 表
有这方面资料或者源码的朋友提供下哦
顺便大家讨论下 这几张表的关系吧
[解决办法]
看看spring security
[解决办法]
一般来讲五张表够了
1.user(userid pk)
2.user_role(userid fk,roleid fk)
3.role(roleid pk)
4.role_function(roleid fk,functionid fk)
5.function(functionid pk)
group似乎用处不大!
[解决办法]
1.1 用户
用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。
用户通常具有以下属性:
ü 编号,在系统中唯一。
ü 名称,在系统中唯一。
ü 用户口令。
ü 注释,描述用户或角色的信息。
1.2 角色
角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性:
ü 编号,在系统中唯一。
ü 名称,在系统中唯一。
ü 注释,描述角色信息
1.3 权限
权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:
ü 编号,在系统中唯一。
ü 名称,在系统中唯一。
ü 注释,描述权限信息
1.4 用户与角色的关系
一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如
l 用户(User):
UserID UserName UserPwd
1 张三 xxxxxx
2 李四 xxxxxx
……
l 角色(Role):
RoleID RoleName RoleNote
01 系统管理员 监控系统维护管理员
02 监控人员 在线监控人员
03 调度人员 调度工作人员
04 一般工作人员 工作人员
……
l 用户角色(User_Role):
UserRoleID UserID RoleID UserRoleNote
1 1 01 用户“张三”被分配到角色“系统管理员”
2 2 02 用户“李四”被分配到角色“监控人员”
3 2 03 用户“李四”被分配到角色“调度人员”
……
从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。
1.5 权限与角色的关系
一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。例如:
l 角色(Role):
RoleID RoleName RoleNote
01 系统管理员 监控系统维护管理员
02 监控人员 在线监控人员
03 调度人员 调度工作人员
04 一般工作人员 工作人员
……
l 权限(Permission):
PermissionID PermissionName PermissionNote
0001 增加监控 允许增加监控对象
0002 修改监控 允许修改监控对象
0003 删除监控 允许删除监控对象
0004 察看监控信息 允许察看监控对象
……
l 角色权限(Role_Permission):
RolePermissionID RoleID PermissionID RolePermissionNote
1 01 0001 角色“系统管理员”具有权限“增加监控”
2 01 0002 角色“系统管理员”具有权限“修改监控”
3 01 0003 角色“系统管理员”具有权限“删除监控”
4 01 0004 角色“系统管理员”具有权限“察看监控”
5 02 0001 角色“监控人员”具有权限“增加监控”
6 02 0004 角色“监控人员”具有权限“察看监控”
……
由以上例子中的角色权限关系可以看出,角色权限可以建立角色和权限之间的对应关系。
[解决办法]
2 数据库设计
2.1 数据库表
2.2 数据库表说明
2.2.1 用户表(Static_User)
Static_User
Static_User字段名
详细解释
类型
备注
UserID
路线编号
varchar(20)
PK
UserName
用户名称
varchar(20)
UserPwd
用户密码
varchar(20)
LastSignTime
最后登陆时间
datatime
SignState
用户登陆状态标记
int
TickeID
验证票记录编号
varchar(128)
2.2.2 角色表(Static_Role)
Static_Role
Static_User字段名
详细解释
类型
备注
RoleID
角色编号
varchar(20)
PK
RoleName
角色名称
varchar(20)
RoleNote
角色信息描述
varchar(20)
2.2.3 用户-角色表(Static_User_Role)
Static_User_Role
Static_User字段名
详细解释
类型
备注
UserRoleID
用户角色编号
varchar(20)
PK
UserID
用户编号
varchar(20)
FK
RoleID
角色编号
varchar(20)
FK
UserRoleNote
用户角色信息描述
varchar(20)
2.2.4 权限表(Static_Permission)
Static_Permission
Static_User字段名
详细解释
类型
备注
PermissionID
编号
varchar(20)
PK
PermissionName
权限名称
varchar(20)
PermissionNote
全息信息描述
varchar(20)
2.2.5 角色-权限表(Static_Role_Permission)
Static_Role_Permission
Static_User字段名
详细解释
类型
备注
RolePermissionID
角色权限编号
varchar(20)
PK
RoleID
角色编号
varchar(20)
FK
PermissionID
权限编号
varchar(20)
FK
RolePermissionNote
角色权限信息描述
varchar(20)
3 .
[解决办法]
排版有点问题
[解决办法]
留个脚印
[解决办法]
spring security
就是那个acegi
[解决办法]
本想插个图片,但这个UBB很奇怪,只能输入链接地址的图片....
其实ACL权限控制3个表就够了
1、基本思想:User(用户表) --> Roles(角色表) --> Permission(权限对象表)
User <--> Roles: n:m 一个用户可对多个角色,一个角色可对多个用户
Roles <--> Permission:n:m 一个角色可对多个权限,一个权限对多个用户
依靠角色表(Roles)、权限表(Permission)来控制User的权限
2、权限对象是指应用系统中的可视对象,如菜单项、按钮、数据控件编辑项等;权限对象控制通过角色和用户授权来实现;权限对象控制包括对权限对象属性的控制,可视数据编辑控件中的数据记录的维护权限:
对象属性:使用/禁止,可视/屏蔽
维护权限:增删改查
可以看看Fairy_dy的回答
[解决办法]
建role role_function function 三张表,通过role_function建立多对多关系
function表里,存action名,action调用的方法,如 usermgtAction,方法 list
role就是定义角色,比如admin,普通用户
中间表存某角色拥有访问哪些action的哪些方法的能力
可以在user登录的时候,把这个用户对用的role拥有的访问能力存到session
再写一个自定义的methodIntercepter,拦截每个request,请求的格式可以为 xxaction.do?method=list
取得参数method的值,判断是否拥有权限访问,如果拥有就调用struts的invoke方法
希望有帮助!
[解决办法]
五张表:用户表 角色表 权限表 用户角色关联表 角色权限关联表
他们的关系已经比较清楚了