我做的基于RBAC权限控制的模型,请高人指教

类设计图如下图所示:

下面是我自己设计的表结构:
我们要创建的表有以下几个,Users(用户)表,Resource(资源)表,也就是我们要控制的object,Permission(权限)表,Role(角色)表,User_Role(用户---角色)表,Role_ Permission(角色权限表)。

用户表
字段名 说明 类型 备注
UserID 用户ID Varchar(20) PK
Name 用户名 Char(20)
Password 用户密码 Char(20)

资源表
字段名 说明 类型 备注
ResourceID 资源ID Varchar(20) PK
ResourceName 资源名 Varchar(20)
Description 描述 Varchar(200)

权限表
字段名 说明 类型 备注
PermissionID 权限ID Varchar(20) PK
PermissionName 权限名 Varchar(20)
Description 描述 Varchar(200)

角色表
字段名 说明 类型 备注
RoleID 角色ID Varchar(20) PK
RoleName 角色名 varchar(20)
RoleDescription 角色描述 varchar(50)

用户角色表
字段名 说明 类型 备注
UserRoleID 用户角色ID Varchar(20) PK
RoleID 角色ID varchar(20) PK
UserID 用户ID varchar(50) PK

角色权限表
字段名 说明 类型 备注
RoleID 角色ID Varchar(20) PK
ResourceID 资源ID varchar(20) PK
PermissionID 权限ID varchar(50) PK

这个设计是最基础的设计,没有用到组的概念,希望大家能给我一些建议。其实是我自己对组的概念有些混淆。在资源管理方面也希望大家能给一些建议。能够灵活的进行管理,并尽可能少的修改代码
谢谢!


怎么没人回复啊~~~

从你的设计来看,好像权限表没什么用处。不要也罢。

权限表存储系统已经有的权限

角色的权限实现是使用数据库存储,还是使用XML配置持久化,值得考虑。