项目采用经典DDD架构(用沃恩.弗农大神的话,其实这是DDD-Lite)思想进行开发,简洁而不简单,实用至上,并且所写每一行代码都经过深思熟虑,符合SOLID规则!
当然,如果你想学习完整的DDD框架,可以参考我的另一个项目(BestQ&A--开源中国推荐项目/集CQRSAES等DDD高级特性于一体的问答系统)
项目详细描述:https://www.cnblogs.com/yubaolee/p/OpenAuth.html
技术栈:
前后端完全分离,结构更加清晰。我们不限制规则,只用主流的技术构建强大的框架;
前端采用vue+layui+ztree+gooflow+leipiformdesign
后端采用asp.netmvc+WebAPI+EF+autofac+swagger+json.net+AutoMapper
代码生成工具CodeSmith
设计工具PowerDesigner+EnterpriseArchitect
秀外
慧中
教科书级的分层思想,哪怕苛刻的你阅读的是大神级精典大作(如:《企业应用架构模式》《重构与模式》《ASP.NET设计模式》等),你也可以参考本项目:
实用
符合国情的RBAC(基于角色的访问控制),可以直接应用到你的系统。
权限资源
a.菜单权限经理和业务员登陆系统拥有的功能菜单是不一样的
b.按钮权限经理能够审批,而业务员不可以
c.数据权限A业务员看不到B业务员的单据
d.字段权限某些人查询客户信息时看不到客户的手机号或其它字段
用户 应用系统的具体操作者,我这里设计用户是可以直接给用户分配菜单/按钮,也可以通过角色分配权限。
角色 为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,以上所有的权限资源都可以分配给角色,角色和用户N:N的关系。
机构 树形的公司部门结构,国内公司用的比较多,它实际上就是一个用户组,机构和用户设计成N:N的关系,也就是说有时候一个用户可以从属于两个部门,这种情况在我们客户需求中的确都出现过。
系统工程结构:OpenAuth.Repository系统仓储层,用于数据库操作OpenAuth.App应用层,为界面提供接口OpenAuth.Mvc采用基于jquery与bootstrap的B-JUI界面OpenAuth.WebApi为第三方应用提供接口OpenAuth.UnitTest单元测试Infrastructure通用工具集合后续更多狂野的功能,正在玩命加载中,敬请期待...
评论