OpenAuth.Net.landv分支之旅开始制作CRM系统

OpenAuth.Net.landv分支之旅开始制作CRM系统

这个事件的由来是因为没有一个统一的会员卡平台系统,目前需要连接三家酒店会员系统,由于三家酒店使用了三种酒店管理系统,彼此之间的耦合低。三家软件直接制作接口也能使用,但是要考虑接入其他系统所以就有了这个OpenAuth.Net.landv分支之旅。

OpenAuth.Net是一个开源的权限工作流快速开发框架。框架基于Martin Fowler企业级应用开发思想及全新技术组合(Asp.Net MVC、EF、AutoFac、WebAPI、Swagger、Json.Net等),核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。它的架构精良易于扩展,是中小企业的首选。

特性

采用经典DDD架构,每一行代码都经过深思熟虑,符合SOLID规则!

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

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

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

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

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

技术栈

  • 前端 vue + layui + ztree + gooflow + leipiformdesign
  • 后端 asp.net mvc + Web API + EF + autofac + swagger + json.net
  • 代码生成工具 CodeSmith
  • 设计工具 PowerDesigner + Enterprise Architect

系统工程结构:

  1. OpenAuth.Repository 系统仓储层,用于数据库操作
  2. OpenAuth.App 应用层,为界面提供接口
  3. OpenAuth.Mvc Web站点
  4. OpenAuth.UnitTest 单元测试
  5. Infrastructure 通用工具集合
  6. OpenAuth.WebApi SSO服务及为第三方提供接口服务
原文地址:https://www.cnblogs.com/landv/p/9186429.html