编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

基于经典领域驱动设计的权限管理及快速开发框架

wxchong 2024-09-30 04:17:56 开源技术 12 ℃ 0 评论

基于经典领域驱动设计的权限管理及快速开发框架,源于Martin Fowler企业级应用开发思想及最新技术组合(.net core、EF core、AutoFac、WebAPI、Swagger、Json.Net等)。 已成功在docker/jenkins中实施。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。它的架构精良易于扩展,是中小企业的首选。

当前版本

core 1.3

  • 基于.Net Core 2.1开发;
  • 全面支持sqlserver、mysql数据库;
  • 全面实现模块控制、菜单控制;
  • 全面实现数据权限控制(不同的角色看到的字段不同)pro版本提供;
  • 完整的代码生成器pro版本提供;
  • 前端采用 vue + layui + ztree + gooflow + leipiformdesign
  • 后端采用 asp.net mvc core 2.1 + EF core+ autofac + json.net
  • 代码生成工具 CodeSmith
  • 设计工具 PowerDesigner + Enterprise Architect

秀外

慧中

教科书级的分层思想,哪怕苛刻的你阅读的是大神级精典大作(如:《企业应用架构模式》《重构与模式》《ASP.NET设计模式》等),你也可以参考本项目。不信?有图为证,Resharper自动生成的项目引用关系,毫无PS痕迹!

权限资源

符合国情的RBAC(基于角色的访问控制),可以直接应用到你的系统。

  1. 菜单权限 经理和业务员登陆系统拥有的功能菜单是不一样的
  2. 按钮权限 经理能够审批,而业务员不可以
  3. 数据权限 A业务员看不到B业务员的单据
  4. 字段权限 某些人查询客户信息时看不到客户的手机号或其它字段

用户应用系统的具体操作者,我这里设计用户是可以直接给用户分配菜单/按钮,也可以通过角色分配权限。

角色为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,以上所有的权限资源都可以分配给角色,角色和用户N:N的关系。

机构树形的公司部门结构,国内公司用的比较多,它实际上就是一个用户组,机构和用户设计成N:N的关系,也就是说有时候一个用户可以从属于两个部门,这种情况在我们客户需求中的确都出现过。

系统工程结构:

  1. Infrastructure 通用工具集合
  2. OpenAuth.Repository 系统仓储层,用于数据库操作
  3. OpenAuth.App 应用层,为界面提供接口
  4. OpenAuth.Mvc Web站点
  5. OpenAuth.WebApi SSO服务及为第三方提供接口服务

使用

管理员可直接在登录界面用System登录;

普通应用账号使用用户列表的用户登录,初始密码与用户名相同;

演示直达

  • 企业版演示地址: http://demo.openauth.me:1803
  • 开源版演示地址: http://demo.openauth.me:1802

项目地址

https://gitee.com/yubaolee/OpenAuth.Core

软件设计开发交流q-q群:592246824

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表