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

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

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

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

https://www.v2ex.com/t/870546

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

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

© 2021 V2EX