在一些三方应用接入 Keycloak OAuth 认证时,可能依赖特定用户属性,比如群组、角色。而在 Keycloak 默认配置下,这些信息是隐藏的。这篇文章记录一下如何将这些信息重新展示出来。
元编程在项目中的应用
掐指一算,进行 System Framework 开发工作已经持续了快两年了,也算是对框架有了一些自己的感悟。框架要做的核心事情就是尽量减轻开发者的工作。怎么去减轻开发者的工作呢?可以从开发、测试和维护两个方面解读。开发方面就是尽可能提高代码复用程度,无需重复造轮子;测试方面就是尽可能提高代码的可测试性,排除无关因素快速定位问题;维护方面就是提高代码的可读性、架构的可理解性,大家能很快地理解整个工程。
而要实现这三个方面的提升,在框架设计的过程中,各种语言特性、设计模式往往无所不用其极,以最简洁的方式提供框架的功能,来尽可能给开发者带来更多的收益。而元编程技术的应用,就是其中重要的一方面。
记DjangoRestFramework中的一个坑
在编写单元测试时,发现请求 POST /api/ruleset/{id}/import/ 就可以,但带上参数 … 阅读更多
记一个python中按位取反的问题
众所周知,python中只有一种整数类型 int,并没有“无符号”的概念。导致有时我们需要使用对一些数据进行取反,python自动使用有符号的形式输出了,不符合预期。怎么解决这个问题呢?
记一次服务宕机排查历程
2024年10月5日,由于停电,导致所有服务不可用,但恢复供电后,部分服务却无法公网访问,只能内网访问。这是怎么回事呢?且听我娓娓道来。
Headscale 初探
今天抽时间尝试部署了一下headscale/tailscale,故写一篇文章来稍微讲下踩过的坑。
Go 1.21 的 slice 使用问题
最近在研究 CoreDNS 插件,但个人之前又没有 Go 语言基础,于是一边学习一边编写插件。可以说只用了 20% 的时间就摸清楚了 Go 语言 80% 的内容。但剩下的 20% 还没掌握,或者说是深刻理解。这不,遇到了个 for slice 的问题,于是记录下相关的解决办法和原理。
Dovecot配置LDAP认证
本章介绍如何为Dovecot配置LDAP认证。Dovecot配置龙LDAP认证后,还可通过SASL为Postfix提供认证。
LDAP再学习:配置slapd用户权限ACL
在22年的时候,我写了一篇文章,详细地介绍了slapd的配置,非常详细,详细到有些例子太不常用。这次配置Keycloak,使用基于LDAP的用户联合,在ACL踩了坑,因此再写一篇文章专门介绍下ACL的配置。
QNAP LXD容器使用VLAN
最近入手了QNAP的NAS,主要是想体验下这种商业公司开发的NAS,好为后续DIY自己的超强NAS铺路。本以为 … 阅读更多