有什么类似 casdoor 的开源认证系统推荐吗?

2022 年 8 月 4 日
 lingly02
一直想找一个开源认证平台,可以稍做改造后用于自己的项目。不想重复造轮子。 初步研究了一下前几天论坛里发的 casdoor,发现还是有一些问题,想找下有没有更好的。

casdoor 的主要问题有(只是粗略看了一下,下面描述如有错误,欢迎批评指正):
1. 代码编写比较随意,几乎没有注释,大部分代码没有单元测试,不利于二次开发。
2. 代码扩展性一般,很多内容是硬编码的。比如想增加一个 sms 提供商,至少需要修改 go-sms-sender, casdoor 后端,casdoor Web 端三处代码。
3. 数据模型极不合理,尤其是主键大量使用组合索引,关联表也不使用外键,而是直接使用字符串字段存储 name ,导致修改一个主表,还需要 update 相关子表。不知道这是遵循一种什么样的建模理论。
4. 组织没有层次结构,不能满足大部分企业应用需求。
5. 为什么一个认证平台要加入商品与支付功能?
9381 次点击
所在节点    程序员
57 条回复
HAWCat
2022 年 8 月 4 日
Authelia
ersic
2022 年 8 月 4 日
Casdoor 是商业产品吧,开源的是 Casbin 。
lingly02
2022 年 8 月 4 日
lingly02
2022 年 8 月 4 日
@HAWCat 研究一下
ihipop
2022 年 8 月 4 日
不使用外键也没啥稀奇的,很多都这样,靠业务和事物保证一致。
DoveAz
2022 年 8 月 4 日
不使用外键 是为了性能吧,毕竟这里面的信息不怎么修改,基本都是查数据,存起来查自然要快许多
lingly02
2022 年 8 月 4 日
@ihipop 不使用数据库层面外键约束的系统是很多,但一般子表也会存储父表的主键。 但它是子表没有存储父表的主键。比如 org 表的主键是"owner,name"(组合主键), user 是属于一个 org 的,但它只定义了一个 owner 字段,并且这个 owner 字段的内容,存放的是 org 表的 name 字段值!
lingly02
2022 年 8 月 4 日
@HAWCat 这个似乎不支持短信验证码登录?
lingly02
2022 年 8 月 4 日
@DoveAz 另外我一向不同意因为性能原因就不使用数据库的主外键约束。绝大部分非互联网应用都不需要先考虑这个问题。使用关系型数据库就是为了保证 ACID 。对于一个认证系统,数据的一致性和完整性才应该是优先考虑的。
Herry001
2022 年 8 月 4 日
keycloak
相比于 keycloak ,casdoor 感觉更像是个人作品……
Oktfolio
2022 年 8 月 4 日
我想造轮子,目前进度「新建文件夹」
virgo
2022 年 8 月 4 日
QuinceyWu
2022 年 8 月 4 日
有没有支持 LDAP 的轻量的开源认证系统推荐啊
lingly02
2022 年 8 月 4 日
@QuinceyWu 上面说的几种,除了 ldap ,其他都支持 ldap 吧
lingly02
2022 年 8 月 4 日
除了 logto, 写错了;-)!
lovepocky
2022 年 8 月 4 日
@lingly02 这个我也发现了,明显不合理
joesonw
2022 年 8 月 4 日
ory.sh 下的产品
adoal
2022 年 8 月 4 日
Apereo CAS ,但是贴合国情的外围功能基本没有,二开的工作量比较多
YLWIND
2022 年 8 月 4 日
ryanbuu
2022 年 8 月 4 日
@QuinceyWu openldap

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/870546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX