OpenAuth.Core基于 .Net Core 2.1 的快速开发框架
.Net Core快速应用开发框架、最好用的权限工作流系统。基于经典领域驱动设计的权限管理及快速开发框架,源于Martin Fowler企业级应用开发思想及最新技术组合(IdentityServer、EF core、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。已成功在docker/jenkins中实施。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。它的架构精良易于扩展,是中小企业的首选。
本项目基于.net core(最新sdk版本v3.1.100)的跨平台版本,使用.net 4.5的同学请移步:https://gitee.com/yubaolee/OpenAuth.Net
演示直达
-
企业版演示地址: http://demo.openauth.me:1803
-
开源版演示地址: http://demo.openauth.me:1802
核心看点
-
支持.net core sdk 3.1.100
-
超强的自定义权限控制功能,可灵活配置用户、角色可访问的数据权限。请参考:通用权限设计与实现
-
完整的字段权限控制,可以控制字段可见及API是否返回字段值
-
可拖拽的表单设计
-
可视化流程设计
-
基于Quartz.Net的定时任务控制,可随时启/停,可视化配置Cron表达式功能
-
基于CodeSmith的代码生成功能,可快速生成带有头/明细结构的页面
-
支持sqlserver、mysql数据库,理论上支持所有数据库
-
集成IdentityServer4,实现基于OAuth2的登录体系
-
建立三方对接规范,已有系统可以无缝对接流程引擎
-
前端采用 vue + layui + elementUI + ztree + gooflow + leipiformdesign
-
后端采用 .net core +EF core+ autofac + quartz +IdentityServer4 + nunit + swagger
-
设计工具 PowerDesigner + Enterprise Architect
秀外
慧中
教科书级的分层思想,哪怕苛刻的你阅读的是大神级精典大作(如:《企业应用架构模式》《重构与模式》《ASP.NET设计模式》等),你也可以参考本项目。不信?有图为证,Resharper自动生成的项目引用关系,毫无PS痕迹!
权限资源
符合国情的RBAC(基于角色的访问控制),可以直接应用到你的系统。具体说明请查看:通用权限设计与实现
- 菜单权限 经理和业务员登陆系统拥有的功能菜单是不一样的
- 按钮权限 经理能够审批,而业务员不可以
- 数据权限 A业务员看不到B业务员的单据
- 字段权限 某些人查询客户信息时看不到客户的手机号或其它字段
用户应用系统的具体操作者,我这里设计用户是可以直接给用户分配菜单/按钮,也可以通过角色分配权限。
角色为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,以上所有的权限资源都可以分配给角色,角色和用户N:N的关系。
机构树形的公司部门结构,国内公司用的比较多,它实际上就是一个用户组,机构和用户设计成N:N的关系,也就是说有时候一个用户可以从属于两个部门,这种情况在我们客户需求中的确都出现过。
系统工程结构:
- Infrastructure 通用工具集合
- OpenAuth.Repository 系统仓储层,用于数据库操作
- OpenAuth.App 应用层,为界面提供接口
- OpenAuth.Mvc Web站点
- OpenAuth.WebApi 为企业版或其他三方系统提供接口服务
- OpenAuth.Identity 基于IdentityServer4的单点登录服务