开源权限系统 sshpermissions

fmms 12年前

第一章 引言

1.1 编写目的

使用easyui+ssh2+shiro的权限管理系统,粒度可细化到按钮及菜单级别。目前是第一个稳定版本,可实现基本的权限控制功能,并且可以使用shiro的标签对细粒度的权限进行管理。

Jar包除了几个核心包之外全部使用maven管理。

1.2 是否开源

完全开源免费。

地址是:

https://code.google.com/p/sshpermissions/

需要源码的可以通过svn下载

地址是:

http://sshpermissions.googlecode.com/svn/trunk/

 

第一章 设计思路

1.1 基于RBAC

RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对What(Which)进行How的操作”。         

Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等)

What:权限针对的对象或资源(Resource、Class)。         

How:具体的权限(Privilege,正向授权与负向授权)。         

Operator:操作。表明对What的How操作。也就是Privilege+Resource         Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的是隔离User与Privilege的逻辑关系.         

Group:用户组,权限分配的单位与载体。权限不考虑分配给特定的用户而给组。组可以包括组(以实现权限的继承),也可以包含用户,组内用户继承 组的权限。User与Group是多对多的关系。Group可以层次化,以满足不同层级权限控制的要求。         RBAC的关注点在于Role和User, Permission的关系。称为User assignment(UA)和Permission assignment(PA).关系的左右两边都是Many-to-Many关系。就是user可以有多个role,role可以包括多个user。

 

1.2 数据模型

 

 

第一章 系统操作

1.1 登录

部署完成后需要输入:

http://localhost:8080/sshpermission

进入登录界面

 

输入管理员

用户名:admin

密码:admin

进入系统

 

1.2 资源信息维护

维护系统的资源信息,资源指的是系统中所有的除按钮外的相关信息,比如菜单,首页显示列表等。

 

1.3 角色管理

维护系统角色信息,可对系统进行分配资源授权和操作授权。

角色维护

 

资源分配

 

操作分配

 

1.4 组管理

维护一组用户的信息,可以跟角色和用户进行组合。可以向组内添加用户,可以给组添加角色。

 

向组内添加用户

 

给组授权角色

 

1.5 系统字典维护

维护系统内的字典数据。

 

1.6 系统信息维护

维护系统信息,可以设置多个系统,进行多个系统的维护与授权。

1.7 日志管理

维护系统日志,使用AOP进行记录,可对需要维护的部分进行配置。

 

1.8 操作信息维护

维护操作信息

 

1.9 全局参数维护

维护全局参数。

 

1.10 人员信息维护

维护用户的基本信息