SSO 单点登录的明星协议 SAML2.0
简介 SAML 是 2001 年问世的古董的协议。相比于 2010 年成为 RFC 标准的 OAuth2.0,即使是 SAML2 也早在 2005 年就发布了,廉颇老矣,尚能饭否?答曰:能。事实上直到今天(2024年)SAML2.0 依然是不少企业实现 SSO 的首选协议,这其中既少不了 Cisco
OpenWrt 开启 IPv6 公网访问全指南
阅读本文要求具有基础网络知识,例如知道什么是网络掩码、路由、DHCP 等。 当前环境: 江苏电信,光猫为桥接模式。 x86 软路由,安装 iStoreOS。 基础概念 什么是 IPv6 IPv6 与 v4 不同。v4 时代运营商一般只给用户分配最多 1 个公网 ip,然后用户自己的路由器通过 NAT
OpenWrt 纯浏览器设置访问桥接模式下的光猫
默认情况下,如果使用 OpenWrt 类原生系统的路由器拨号连接桥接模式的光猫,就无法访问光猫的管理页面了,带来很多不便。修复的方法有很多,这里记录一个只需要浏览器的方法。 Web UI 设置教程 新建接口 在「网络-接口」处新建一个接口: 名称随意,比如「modem」。 协议选择「静态地址」,因为
PLEX 电视端无法切换大屏布局
简介 Plex 是一个商业的个人影院系统,类似的还有 Emby, Jellyfin 等。Plex 的服务端搭建这里不再赘述,个人使用 Docker 跑在群晖 DS720+ 上。 在电视端曾经主流的方法是使用 KODI + Plex 插件,但后者已经不怎么更新了,而且 Plex 作为商业系统多个平台的
记一次sni导致的反代异常
背景 一直用 Authenlia 作为反代认证,给各种私有服务添加了统一登录。架构如下: 当用户希望访问「内网服务#1」时: 访问反代服务器(Nginx)。 反代服务器向认证服务器查询是否已登录,若认证成功则继续。否则显示登录页面。 反代服务器访问内网服务取得资源。 反代服务器把结果返回给用户。 其
LeetCode4 两个有序数组的中位数
题目 传送门:4. Median of Two Sorted Arrays 这是一道 Hard 级别的题目,主要难点是要求实现 $O(\log(m+n))$ 的时间复杂度。 暴力算法 最容易想到的就是双指针,分别指向两个数组的首个元素。比较两个指针元素的大小,向后移动较小的一个并计数。此算法时间复杂
IntelliJ / Android Studio 全家桶常见问题
本文章没有任何技术含量,但是解决了 JetBrains 一拍脑子的反人类改动。 本文没有什么技术含量,主要记录 IntelliJ 全家桶(IDEA, Goland, Android Studio 等)常见的小毛病。 Precommit Check 【问题描述】 发现版本: JetBrains: 20
在 Spring 中正确注入 EntityManager
TL;DR: 保持默认设置,优先使用 @Autowired,没有线程安全问题。 本文基于 Spring Boot 3.1.3,使用 io.spring.dependency-management 1.1.3 依赖管理。 注入注解之争 Spring 中最常用的注解恐怕非依赖注入 @Autowired
速通 Java 动态代理
什么是代理 要学习动态代理,首先要知道什么是代理。简单说,若我们想访问对象 A,但现在不直接调用,而是访问对象 B,由 B 去调用 A 并且把 A 的返回值返回给我们,此时 B 就是一个代理。那么为什么要脱裤子放屁呢? 看一个现实例子。假设某人有个多余房产希望出售/出租,于是他找了一个房产中介作为代
Z-Library: 加入书籍的乌托邦
简介 Z-Library 旨在让每一个人平等地获得书籍。当然,无论多么高端的口号都掩盖不了法律角度上盗版和侵权的事实。不过法律是矛盾调和的产物,它只能解决很小的一部分问题。从某种程度上,Z-Library 满足了我对互联网乌托邦的幻想。因此决定写下这个文章,帮助更多人轻松使用它。 对普通人来讲,只需