开源权限系统sshpermissions

第一章 引言

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 人员信息维护

维护用户的基本信息

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Nodejs开发框架Express3.0开发手记–从零开始

转载请注明出处: http://blog.fens.me/nodejs-express3/ 程序代码已经上传到github有需要的同学,自行下载。 http...

426120
来自专栏腾讯云Elasticsearch Service

logstash input插件开发

logstash作为一个数据管道中间件,支持对各种类型数据的采集与转换,并将数据发送到各种类型的存储库,比如实现消费kafka数据并且写入到Elasticsea...

79940
来自专栏好好学java的技术栈

java工程师必备linux常用命令,这篇文章就够了

bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)...

34710
来自专栏从零开始学自动化测试

python测试开发django-1.开始hello world!

当你想走上测试开发之路,用python开发出一个web页面的时候,需要找一个支持python语言的web框架。django框架有丰富的文档和学习资料,也是非常成...

21430
来自专栏游戏杂谈

Node + Express + Mysql的CMS小结

因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布。因为很久不写,重点说遇到的几个坑:

13920
来自专栏数据之美

shell 学习笔记(19)

声明:转载需署名出处,严禁用于商业用途! 1801.关于 nohup 后台运行的问题: nohup就是拒绝hup信号,没什么其他用途, 如...

26150
来自专栏游戏杂谈

Operation could not be completed. (WebKitErrorDomain error 101.)

ios中加载网页,会报如标题所示的错误“Operation could not be completed. (WebKitErrorDomain error ...

20410
来自专栏IMWeb前端团队

thinkjs学习笔记

thinkjs 开始 安装 npm install -g thinkjs-cmd 查看是否安装成功 thinkjs -v 新建项目 mkdir new_dir_...

29270
来自专栏烂笔头

SSDB安装配置记录

目录[-] SSDB的性能很突出,与Redis基本相当了,Redis是内存型,容量问题是弱项,并且内存成本太高,SSDB针对这个弱点,使用硬盘存储,使用G...

47580
来自专栏Jerry的SAP技术分享

SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子

上述Service的yaml文件里每个字段,在Kubernetes的API文档里有详细说明。

11300

扫码关注云+社区

领取腾讯云代金券