LogiCommon icon indicating copy to clipboard operation
LogiCommon copied to clipboard

关于logi-security的三个疑问

Open inuter opened this issue 3 years ago • 1 comments

Q1:用户注册和注销功能的缺失

根据 readme 的介绍,logi-security 提供了注册注销功能,如下图所示: screenshot-github com-2022 02 14-14_58_05

但在仔细阅读源码后,仅在 AccountController 类中发现了登录功能,注册注销功能并未实现。

Q2:用户登录验证缺乏安全性

结合 UserServiceImpl 类的 verifyLogin() 方法和 LogiSecurityInterceptor 类的 preHandle() 方法,logi-security 的登录验证,貌似是仅通过 HTTP 请求是否存在 X-SSO-USER header 来判断用户是否登录的,但这样的验证毫无安全可言。

Q3:LogiCommon 的定位

在谦虚学习完 logi-security 的源码后,我很好奇你们对于 logi-common 的定位是什么?readme 给人的第一感觉是要做一个开箱即用的基础模块,但源码在某些细节上好像处理地并不完善。另外,好像只有一个 contributer,且已经好几个月未有新提交了,所以该项目是 EOL了?

inuter avatar Feb 14 '22 07:02 inuter

三个问题一起回答。

LogiCommon 的定位: 定位于于滴滴 Logi 团队三个主要开源产品(https://github.com/didi/LogiAM、https://github.com/didi/LogiKM、https://github.com/didi/LogiEM)的公共组件和通用组件的整合,其目的在于:

  • 提升组件复用度;
  • 剥离滴滴内部依赖;
  • 简化外部依赖;

LogiCommon 的阶段: 还处于一个早期阶段,其中比较成熟的是:

  • Logi-job:可以被应用内嵌的分布式调度组件,取代需要独立部署的 xxx-job,简化应用部署度
  • Logi-log:可以被应用内嵌的带 traceId 的日志组件,用于串联应用内请求路径,类似于单机的 eagle-eye。
  • Logi-elasticsearch-client:原身是滴滴 ES 团队,在 elasticsearch-rest-client 基础上封装的 es client 包,扩展和丰富了elasticsearch-rest-client 接口能力,简化了对 es 的操作。

目前尚不成熟的是:

  • Logi-security:它的定位是提供 Logi 开源产品的一些公共产品组件,如:用户管理、项目管理、登录等,目前在这些功能的产品设计上比较简单,整体上的要求是能用就行。

LogiCommon 的发展: LogiCommon 现在内部迭代的比较快,比如:Logi-job 已经迭代了20多个版本,Logi-elasticsearch-client 迭代了10多个版本,但是由于优先满足内部使用,没有及时同步到开源社区,后续我们会定期进行代码同步。

zqrferrari avatar Feb 25 '22 02:02 zqrferrari