init
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# entity
|
||||
数据库映射类,与数据库字段一一对应
|
||||
# dao
|
||||
数据库操作映射层,控制表数据CRUD,或简单查询
|
||||
# service
|
||||
简单的函数,比如新增、删除、修改、查询,不对数据进行处理,封装dao,也不调用dao进行复杂业务
|
||||
# biz
|
||||
灵活运用service实现各种复杂的业务,不仅仅包含CRUD, 简单的CRUD可以直接引用dao
|
||||
特殊的必须使用sql才能处理的就引用service进行处理
|
||||
# bo(这里写vo也行, 个人理解, 不喜勿碰)
|
||||
包含在返回给客户端(即浏览器)Result中的各种bo,用于向前端输出所需要的数据
|
||||
# query
|
||||
查询对象,即一个以上(不包含)的查询值时,必须将参数封装成query对象
|
||||
@@ -0,0 +1,8 @@
|
||||
# zilean-common
|
||||
公共的方法、对象、常量等等
|
||||
# zilean-base
|
||||
基础业务,比如:用户、数据字典、操作日志、权限等等
|
||||
# zilean-cache
|
||||
缓存模块,本地缓存、Redis缓存、ehcache等等
|
||||
# zilean-mybatis
|
||||
自定义MyBatis模块,简化一般CRUD
|
||||
@@ -0,0 +1 @@
|
||||
# zilean-{项目简称}-{子模块简称}
|
||||
@@ -0,0 +1,2 @@
|
||||
# Jwt Token认证框架
|
||||
使用带签名的token来做用户和权限验证
|
||||
@@ -0,0 +1,14 @@
|
||||
# Shiro权限管理框架
|
||||
## SecurityManager
|
||||
可以理解成控制中心,所有请求最终基本上都通过它来代理转发,一般我们程序中不需要直接跟他打交道。
|
||||
## Subject
|
||||
请求主体。比如登录用户,比如一个被授权的app。在程序中任何地方都可以通过SecurityUtils.getSubject()获取到当前的subject。subject中可以获取到Principal,这个是subject的标识,比如登陆用户的用户名或者id等,shiro不对值做限制。但是在登录和授权过程中,程序需要通过principal来识别唯一的用户。
|
||||
## Realm
|
||||
通俗一点理解就是realm可以访问安全相关数据,提供统一的数据封装来给上层做数据校验。shiro的建议是每种数据源定义一个realm,比如用户数据存在数据库可以使用JdbcRealm;存在属性配置文件可以使用PropertiesRealm。一般我们使用shiro都使用自定义的realm。
|
||||
当有多个realm存在的时候,shiro在做用户校验的时候会按照定义的策略来决定认证是否通过,shiro提供的可选策略有一个成功或者所有都成功等。
|
||||
## 总结
|
||||
一个realm对应了一个CredentialsMatcher,用来做用户提交认证信息和realm获取得用户信息做比对,shiro已经提供了常用的比如用户密码和存储的Hash后的密码的对比。
|
||||
## 使用Shiro主要做了三件事
|
||||
1、用户登录时做用户名密码校验
|
||||
2、用户登录后收到请求时做JWT Token的校验
|
||||
3、用户权限的校验
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
@@ -0,0 +1,15 @@
|
||||
分层领域模型规约:
|
||||
|
||||
DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。
|
||||
DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
|
||||
BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。
|
||||
AO( Application Object):应用对象。 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
|
||||
VO( View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
|
||||
POJO( Plain Ordinary Java Object):在本手册中, POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
|
||||
Query:数据查询对象,各层接收上层的查询请求。 注意超过2个参数的查询封装,禁止使用Map类来传输。
|
||||
领域模型命名规约:
|
||||
|
||||
数据对象:xxxDO,xxx即为数据表名。
|
||||
数据传输对象:xxxDTO,xxx为业务领域相关的名称。
|
||||
展示对象:xxxVO,xxx一般为网页名称。
|
||||
POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
|
||||
Reference in New Issue
Block a user