OpenAuth.Net权限管理系统

联合创作 · 2023-09-30 09:09

项目采用经典DDD架构(用沃恩.弗农大神的话,其实这是DDD-Lite)思想进行开发,简洁而不简单,实用至上,并且所写每一行代码都经过深思熟虑,符合SOLID规则!

当然,如果你想学习完整的DDD框架,可以参考我的另一个项目(BestQ&A--开源中国推荐项目/集CQRSAES等DDD高级特性于一体的问答系统

项目详细描述:http://www.cnblogs.com/yubaolee/p/OpenAuth.html

技术栈:

  • 前后端完全分离,结构更加清晰。我们不限制规则,只用主流的技术构建强大的框架

  • 前端采用 vue + layui + ztree + gooflow + leipiformdesign

  • 后端采用 asp.net mvc + Web API + EF + autofac + swagger + json.net + AutoMapper

  • 代码生成工具 CodeSmith

  • 设计工具 PowerDesigner + Enterprise Architect

秀外

 

慧中

教科书级的分层思想,哪怕苛刻的你阅读的是大神级精典大作(如:《企业应用架构模式》《重构与模式》《ASP.NET设计模式》等),你也可以参考本项目:

输入图片说明

实用

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

权限资源

a. 菜单权限 经理和业务员登陆系统拥有的功能菜单是不一样的

b. 按钮权限 经理能够审批,而业务员不可以

c. 数据权限 A业务员看不到B业务员的单据

d. 字段权限 某些人查询客户信息时看不到客户的手机号或其它字段

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

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

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

系统工程结构:

  1. OpenAuth.Repository 系统仓储层,用于数据库操作
  2. OpenAuth.App 应用层,为界面提供接口
  3. OpenAuth.Mvc 采用基于jquery与bootstrap的B-JUI界面
  4. OpenAuth.WebApi 为第三方应用提供接口
  5. OpenAuth.UnitTest 单元测试
  6. Infrastructure 通用工具集合

后续

更多狂野的功能,正在玩命加载中,敬请期待...

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报