iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >应用基础框架全面解析
  • 687
分享到

应用基础框架全面解析

2023-06-05 05:06:20 687人浏览 安东尼
摘要

转载本文需注明出处:微信公众号EAWorld,违者必究。引言:应用基础框架Coframe是EOS产品自带的开源应用基础框架,提供了资源管理、权限管理、用户以及角色管理等业务应用基础能力,用户可以根据自己的需要进行二次开发与扩展。本文向大家分

应用基础框架全面解析

转载本文需注明出处:微信公众号EAWorld,违者必究。

引言:

应用基础框架Coframe是EOS产品自带的开源应用基础框架,提供了资源管理、权限管理、用户以及角色管理等业务应用基础能力,用户可以根据自己的需要进行二次开发与扩展。本文向大家分享Coframe的主要功能和设计实现方案。

目录:

一、简介

二、系统资源

三、权限管理

四、组织管理

一、简介

应用基础框架也叫Coframe,是产品自带的开源应用基础框架,提供了一些基础功能,用户可以根据自己的需要进行二次开发与扩展。

Coframe提供3大核心功能:

  1. 系统资源:提供了功能菜单管理、字典码表、应用管理折几个应用框架基础能力。

  2. 权限管理:提供了基于Party(参与者) 的复杂权限计算模型和授权模型。

    基于参与者、资源与授权等概念可扩展开发出符合用户个性化需求的参与者模型。

  3. 组织管理:提供了机构、岗位、员工、 用户、工作组等组织机构相关管理功能,支持与已有业务系统对接,使得基于普元EOS PlatfORM 8.0开发的应用可方便地使用同一套组织机构。

 逻辑架构

应用基础框架全面解析

逻辑架构图展示了基础应用框架的基本功能模块,前端Restful形式接口调用后端服务。

进程架构

应用基础框架全面解析

Coframe集成部署示意图

应用基础框架有两种部署模式:微服务架构Coframe集成模式和单应用架构Coframe集成模式。

单应用架构很好理解,即直接使用Coframe源码或者jar包开发应用,后端只有一个server,而集成模式可以将应用要对外暴露的服务封装在Coframe中,这样Coframe可以对应用进行权限管理。前端使用Vue开发,可以很方便的使用源码进行二次开发。

数据模型

应用基础框架全面解析

(可点击图片放大查看)

应用基础框架的数据模型即DB表结构,展示了主要的一些表结构,包括权限表,用户表等。用户可以很方便的进行二次开发扩展应用。

二、系统资源

菜单管理

菜单框架支持两级菜单,用户可以自定义菜单的路径和打开方式等。

应用基础框架全面解析

应用基础框架提供了几个基础的菜单,用户可以在页面编辑菜单或者直接在数据库端编辑菜单。目前应用基础框架前端Ui支持二级菜单,用户可以根据自己的需求扩展到三级菜单。

字典码表

字典码表即为系统内部定义的具有业务属性的数据字典。

应用基础框架全面解析

系统管理员可以配置字典类型和字典项,用于管理系统中的枚举类型的基础数据,并且支持excel导入导出。字典类型和字典数据均支持一级子项。

  • 字典类型:对数据进行分类管理

  • 字典数据项:需要管理的枚举数据

应用管理

应用管理又叫服务权限控制,是指在多应用系统以及单应用系统下,实现对应用的服务功能的权限控制。实现角色、用户、功能的灵活绑定。

应用基础框架全面解析

在需要进行权限管理的功能接口方法定义上添加@TarestOperation注解,发布服务。

@RequestMapping("/say-hello")
@TarestService(group = "SP1", displayName = "服务提供组1", version = "1.0.0.0", groupName = "服务提供组1", name = "ISampleAppHello")
public interface ISampleAppHello {

    @GetMapping
    @TarestOperation(checkPermission=false,name="DEMO_001",displayName="功能1")
    String sayHello();
   
   
         @GetMapping(value = "/user")
        @TarestOperation(checkPermission =true,name="DEMO_002",displayName="功能2")
    String insertDemo(@RequestParam String name, @RequestParam Integer age);
   
}

(左右滑动查看全部代码)

单应用系统即只有一个后端应用的系统,(直接以嵌入方式集成Coframe)无需新建应用。

多应用系统即有多个后端应用的系统,Coframe作为一个独立的应用部署的系统,需要在coframe中新建应用。如图所示:

应用基础框架全面解析

三、权限管理

提供了基于Party(参与者) 的复杂权限计算模型和授权模型。

基于参与者、资源与授权等概念可扩展开发出符合用户个性化需求的参与者模型。

  • 角色:角色是Coframe一个重要的对象,也可以成为权限集,表示系统中权限一个子集,用于控制用户可以使用的功能集合,赋予用户一个角色表示给用户一定功能的使用权限。Coframe中角色的分配本身赋予某些用户,员工,机构等之外,还要向角色授予可访问某些功能,模块,表单,视图等资源的权限。拥有某角色的用户可访问角色被授予的资源的权限。

  • 用户:所有能登录系统的用户都是系统中的用户,需要增加登录账号有两种方式。一种是在用户管理中新增用户,第二种是在组织管理中新增员工时关联一个用户,如果用户的登录名不存在会创建一个新的用户。

用户管理

应用基础框架全面解析

所有能登录系统的用户都是系统中的用户,需要增加登录账号有两种方式。一种是在用户管理中新增用户,第二种是在组织管理中新增员工时关联一个用户,如果用户的登录名不存在会创建一个新的用户。当Coframe使用IAM的统一认证登录的时候能够同步IAM端的同一租户下的用户信息。

Coframe的用户账号由其登录认证方式决定是本地创建的还是又IAM即同一认真平台同步过来的用户信息。

  • 本地登录:用户账号及其认证密码在本地存储,本地认证配置可以参考:Http://t.cn/EUrzEtL

  • 单点登录:即与IAM集成的sso方式登录,可以参考:http://t.cn/EUrZPOs

授权管理

目前提供了菜单授权与服务授权,授权管理即将资源与参与者之间建立关系。如下图所示,菜单和应用:

应用基础框架全面解析

即可以视为资源,而账号、角色、组织机构、工作中等,即可以视为参与者。授权表结构如下图所示:

应用基础框架全面解析

应用基础框架全面解析

此注解用来标志一个数据实体为授权实体,授权实体需要指定类型:资源、授权主体,比如:

@Entity
// 此实体名称为order,类型为resource
@AuthEntity(name = "order", type = AuthEntityType.RESOURCE)
@Table(name = "SAMPLE_ORDER")
public class SampleOrder {

    @Id
    @GeneratedValue
    private Long id;
   
    private String name;
   
    private Date date;
}

(左右滑动查看全部代码)

四、组织管理

机构管理

应用基础框架全面解析

机构指企业的组织机构,一般包含机构、岗位、员工等信息。

机构管理通过对一棵机构人员树的维护把机构、岗位、人员等信息和关系维护好,并可设置这些组织对象的角色。

应用基础框架全面解析

工作组管理

应用基础框架全面解析

工作组与机构类似,是为了将项目组、工作组等临时性的组织机构管理起来,业务上通常工作组有一定的时效性,是一个非常设机构。

工作组是企业动态创建的组织机构分组,工作组下可以有子工作组、员工信息。

总结:



以上介绍了应用基础框架的主要基础功能,以及设计过程中的一些理念,比如授权模型等。

作为开源应用基础框架会随着规划发展不断完善,用户可以根据自身的需求来更改适配。也非常欢迎大家能够更多参与使其更加健壮。

精选提问:

问1:这个是一个前后端分离的项目吗 我看前端单独部署在nginx中。

答:是前后端分离的,前端是用VUE开发的。

问2:接入的SSO是支持CAS吗?如果是CAS的话,在前后端分离的项目在前端有什么好的设计吗?因为CAS一般基于fliter来接入CAS server的。

答:接入的SSO是Oauth3.0的,目前不支持CAS,可以参考。

问3:Coframe是开源的吗?可以商用吗?

答:一般对公司的客户是开源的,但是对外并没有公布源码(没有放在GitHub之类的托管平台上面)。

问4:它是一个平台级的应用吗,我可以接入第三方的应用进来吗?

答:不是,它提供了类似菜单、授权等基础能力,可以基于源码二次开发,也可以基于jar开发自己的应用。

问5:目前最新版本是多少?授权用的是Shiro吗?

答:最新快照版本8.0.0-SNAPSHOT,目前准备开发8.0.0-LA2-SNAPSHOT。授权不是用的shiro,是基于参与者、资源与授权 这三种模型开发的授权方式。

应用基础框架全面解析

关于作者:许方杰,普元资深软件工程师,曾在华为负责项目核心模块开发,运维等,擅长WEB、运维等领域技术,参与普元 EOS 8微服务平台应用基础框架(Coframe)的建设与实施。

--结束END--

本文标题: 应用基础框架全面解析

本文链接: https://www.lsjlt.com/news/241349.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 应用基础框架全面解析
    转载本文需注明出处:微信公众号EAWorld,违者必究。引言:应用基础框架Coframe是EOS产品自带的开源应用基础框架,提供了资源管理、权限管理、用户以及角色管理等业务应用基础能力,用户可以根据自己的需要进行二次开发与扩展。本文向大家分...
    99+
    2023-06-05
  • 详解Pytest框架的基础知识和应用
    Pytest框架的基本概念和用法详解 一、引言 随着Python的流行和多种测试框架的涌现,软件测试已经成为开发过程中不可或缺的一部分。Pytest是Python中一款简单而功能强大的测试框架,旨在提供更简洁、易于使用和可扩展的...
    99+
    2024-01-13
    - 用法: 安装 配置和基本用法
  • 从基础到实际应用:理解响应式CSS框架
    响应式CSS框架:从原理到实践,需要具体代码示例 引言:在当今移动互联网时代,越来越多的用户使用移动设备浏览网页。为了提供更好的用户体验,开发响应式网页设计变得至关重要。而响应式CSS框架便是实现响应式网页设计的一种强大工具。本...
    99+
    2024-01-16
    响应式 实践 CSS框架
  • Spring Security 安全框架应用原理解析
    Spring Security 简介 背景分析 企业中数据是最重要的资源,对于这些数据而言,有些可以直接匿名访问,有些只能登录以后才能访问,还有一些你登录成功以后,权限不够也不能访问...
    99+
    2024-04-02
  • JavaScript基础知识:全面解析,一学就会
    2. 变量 变量用于存储数据,数据类型包括: 数字 (number):如 1、3.14、-5 字符串 (string):如 "Hello, world!"、"J" 布尔值 (boolean):如 true、false 数组 (array...
    99+
    2024-02-08
    JavaScript 是一种基于文本的编程语言 由一系列语句组成。语句以分号 (;) 结尾 并且对大小写敏感。
  • react.js框架Redux基础案例详解
    react.js框架Redux https://github.com/reactjs/redux 安装: npm install redux react-redux #基于rea...
    99+
    2024-04-02
  • Django框架基础认证模块auth应用示例
    目录1. auth介绍2. autho常用操作2.1 创建用户2.2 验证用户2.3 验证用户是否登录2.4 已验证的用户想附加到当前会话2.5 快捷增加登录校验装饰器2.6 退出登...
    99+
    2024-04-02
  • Django框架基础认证模块auth这么应用
    本文小编为大家详细介绍“Django框架基础认证模块auth这么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Django框架基础认证模块auth这么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. ...
    99+
    2023-06-29
  • React框架核心原理全面深入解析
    目录前言第一章 基本概念第二章 createElement 函数第三章 render函数第四章 Concurrent Mode第五章 Fibers第六章 Render and Com...
    99+
    2022-11-16
    React框架的原理 React框架核心
  • Java基础之MapReduce框架的示例分析
    小编给大家分享一下Java基础之MapReduce框架的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、MapTask工作机制MapTask就是Map阶...
    99+
    2023-06-15
  • Java基础之集合框架详解
    目录一、前言二、集合的由来?三、集合和数组的区别?四、Collection集合的功能概述?五、Collection集合存储字符串并遍历?(迭代器)六、...
    99+
    2024-04-02
  • 解析并应用响应式CSS框架
    响应式CSS框架解析与应用 在当今移动优先的互联网时代,响应式设计已经成为了一种必备的技术。而响应式CSS框架则是帮助开发人员快速构建响应式网站的利器。本文将深入解析响应式CSS框架的原理与应用,并通过具体的代码示例来展示其功能...
    99+
    2024-01-16
  • 从基础到进阶:全面解析 PHP SPL 扩展
    1. 简介 PHP SPL 扩展是一个强大的 PHP 标准库,它提供了许多有用的类和接口,可以帮助开发人员轻松、高效地处理数据和执行各种操作。SPL 包括许多不同的数据结构,如堆栈、队列、链表、集合和映射,以及各种算法,如排序、搜索和哈...
    99+
    2024-02-03
    PHP SPL 数据结构 算法 面向对象
  • Java基础夯实之线程问题全面解析
    目录1. 线程是什么2. 怎样创建线程2.1 继承Thread类2.2 实现Runnable接口2.3 实现Callable接口2.4 使用线程池创建3. 线程的状态4. 线程常用方...
    99+
    2022-11-13
    Java线程解析 Java线程
  • java框架基础之SPI机制实现及源码解析
    目录1 定义2 案例实现标准接口厂商的具体接口实现3 SPI机制源码分析3.1 load加载过程3.2 实例化过程1 定义 SPI 的全名为 Service Pr...
    99+
    2024-04-02
  • Hadoop大数据基础框架的示例分析
    这篇文章主要介绍Hadoop大数据基础框架的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估...
    99+
    2023-06-02
  • 前端框架react-spring基础用法
    目录安装应用组件式动画api控制spring概念介绍Animating elementsControllers & Springs & APIControllerSp...
    99+
    2023-05-16
    前端框架react spring react spring基础
  • Java基础全面讲解StringBuffer类的使用
    目录StringBuffer类常用方法字符串连接指定位置添加内容字符串反转替换指定范围的内容字符串截取删除指定范围的字符串查找指定的内容是否存在String与StringBuffer...
    99+
    2024-04-02
  • web基础之Structs框架怎么使用
    Structs是一个用于构建Web应用程序的开源Java框架。它提供了一些核心功能,如表单验证、国际化、数据绑定等,使开发人员能够更...
    99+
    2023-09-29
    Structs
  • MyBatis框架零基础快速入门案例分析
    这篇文章主要讲解了“MyBatis框架零基础快速入门案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MyBatis框架零基础快速入门案例分析”吧!一、创建数据库和表数据库名ssm,数据...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作