首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求关于用户权限方面的资料或者源码解决方法

2013-01-25 
求关于用户权限方面的资料或者源码谁有用户权限管理方面的资料,最好是有文档 和代码的要有user role group

求关于用户权限方面的资料或者源码
谁有用户权限管理方面的资料,最好是有文档 和代码的
要有  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方法

希望有帮助!
[解决办法]
五张表:用户表 角色表 权限表 用户角色关联表 角色权限关联表
他们的关系已经比较清楚了

热点排行