这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战。
上篇文章对比基于Token(即JWT)与基于服务器的身份认证做了总结。本篇文章将对授权鉴权中心代码方面做个总结。
其实代码也是很简单的,核心功能点是JWTService里的三个授权相关功能方法实现,主要是用于生成Token以及用户注册。鉴权不在我们这个微服务里,而是放到通用模块下以工具类的形式存在,原因之前也说过了,主要是为了实现解耦和高性能,这里就不再赘述了。
最后再介绍一下e-commerce-authority-center模块中pom文件里的两个依赖。
freemarker和screw其实是由开源社区提供的两个工具,能够生成数据库的html文档或者是markdown文件,方便我们去查看数据库里有哪些数据表、数据表的字段各个类型各个注释等信息。经过验证,可以用于MySQL和PostgreSQL数据库。接下来介绍一下编写测试用例来生成数据库表文档。
1、我们在e-commerce-authority-center——>test——>java——>com.sheep.ecommerce下new一个类 DBDocTest。注入应用上下文,我们需要这个容器去获取数据源。
2、配置想要忽略的数据表,忽略表前缀如(a、b开头的数据库表),忽略表后缀,然后根据名称指定表生成,如下图所示。
3、编写生成文档的测试用例,如下图。
运行之后我们会发现文件路径下多了一个.html文件,打开如下图所示:
这就是我们通过这个测试用例生成的数据库设计文档,非常清晰且方便阅读,所以将这两个依赖推荐给大家。可以看到文档里包含了所有的表,每个数据表都包含它的表名及所有字段,字段包括字段名称、数据类型、长度、是否允许空值、是否为主键、默认值等等,内容非常详细,如果后续有改动数据表内容,则只需要将我们编写的这份测试用例重新执行就可以获取到一份更新后的数据库设计文档了,非常简单方便且无脑。
本文转载自: 掘金