zoukankan      html  css  js  c++  java
  • 开源权限系统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 人员信息维护

    维护用户的基本信息

  • 相关阅读:
    关于@Mapper和@Repository的一点小理解
    记一下数据库的多表查询
    移动端时间控件 HTML5+ 的 pickDate 和 MUI 的 dtpicker 的使用与对比
    即时搜索:对于ios自带输入法输入中文时多次触发input事件的处理
    thead固定,tbody高度超出时滚动的实现方法
    数字位数不够,进行前补零的JS最简实现方案
    hbuilder ios 打包失败,无法导入p12证书的解决方案
    通过jQuery获取容器尺寸的方法height()、innerHeight()、outerHeight()的区别总结
    通过js添加的DOM节点的click事件绑定不上的解决方案以及IOS下click事件委派失效的解决方案
    vue.js项目构建——构建方式:vue-cli脚手架
  • 原文地址:https://www.cnblogs.com/Byrd/p/2756460.html
Copyright © 2011-2022 走看看