单点登录的几种实现方式探讨

单点登录(Single Sign On),简称为 SSO,是解决企业内部的一系列产品登录问题的方案。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,用于减少用户重复的登录操作,提升用户体验。从技术层面上讲,单点登录目前有多种实现方案,本文从博主个人的理解出发,比较这几种不同方案的优劣和适用场景。

逐梦2023:个人博客的维护之路——关于梦与浪漫的每一个决策,都让我满怀欣喜


2023已至,玖涯博客又长了一岁,好似圆满了些许。维护博客的这些年,亦是新冠爆发的这些年,入门时添加的友链也都早已无法访问,清冷的界面又平添了几分萧瑟。 回顾这些年,发布的有价值的文章几乎没有,貌似逐渐已忘却了曾经的梦,做这些的意义到底是什么?我坚定相信自己是有收获的,但关于博客,唯一可以记录的便只有维护博客和 Dream 主题的这段旅程吧!

Oauth2.0四种授权模式适用场景和授权流程介绍以及个人的一些思考

Oauth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准,先前曾经了解过在 spring-security-oauth2 中 Oauth 四种模式的实现,也通过 Shiro 实现了 Oauth 的授权流程。 目前 spring-security-oauth2 已经被逐步废弃,Spring 也提供了新的框架 spring-authorization-server,整个框架基于 Oauth 2.1 开发。目前重新整理项目代码,借此机会详细梳理一遍 Oauth2.0 授权模式的适用场景和授权流程,后续用于和 2.1 对比参照。

Nacos 运维部署流程与常见配置方法

在使用 Nacos 时进行了一些配置的调整,过程中也遇到了一些问题,所以对 Nacos 部署上的一些要点进行了整理,详见官方文档:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html

运维 

在 Java 中,什么条件下两个 String 会是同一个对象?

这段时间工作上经常用遇到 String 对象比较的问题,这是一个比较基础的问题,但有时候对其原因还是有些迷惑,所以稍微总结一下。

Ubuntu 22.04 桌面美化之Mac Big Sur风格

Ubuntu 默认的桌面也是一个不错的样式,但千篇一律的主题很容易让人疲惫。本文描述了如何通过安装 gnome 桌面主题和动画,使桌面趋向于 Mac 的样式。

2022年国庆出游之厦门六天五夜行程规划

这并非我第一次去厦门,但是先前由于行程匆忙,追追赶赶,总是不能放慢脚步去感受自然,未能目睹日落大海始终是难以忘怀的一大遗憾。国庆假期,难掩心中向往,带着充分的旅程规划,再次来到厦门,10月1日(周六)~6日(周四)六天五夜行。

生活 

Windows 运维使用小技巧——持续更新

Windows 系统好是好,就是有点不太好用,特别是遇到问题的时候。本文收集了 Windows 使用中常见的一些问题,并对解决方法做了简单记录。

运维 

网站访问速度优化之pjax

pjax 是 ajax 和 pushState 的结合,它是一个 jQuery 插件。它通过 ajax 从服务器端获取 HTML 文件,在页面中用获取到的HTML替换指定容器元素中的内容。然后使用 pushState 技术更新浏览器地址栏中的当前地址,并且保持了真实的地址、网页标题,浏览器的后退(前进)按钮也可以正常使用。

低价低配的海外服务器的对比

如果你的域名没有备案,那么你使用国内的云服务器寸步难行。除此之外,海外云服务器的带宽普遍较大,能够满足一些人的特殊需求。 很多人说海外服务器普遍价格低廉,但我实际的观察并非如此,海外服务器起步价普遍价格在 3-5 美元/月,而腾讯云、阿里云等云服务器厂商,他们的云服务器普遍是99元/年起步,这个价格相对来说已经很低了,且轻量应用服务器价格更加的低廉。当然其中有部分活动是针对新人的,但是普遍价格还是比较低的。 本文整理了目前调研过的几个海外云服务器网站,主要关注点在于 低价低配,没有太大的应用需求。

Dream 2.0.5移除FreeCDN,以及SW配置方法


由于 FreeCDN 不是很符合主题的需求,所以本文中移除了 FreeCDN ,手动进行实现了 ServiceWorker 增加了全站离线缓存的功能,支持博客的离线访问。一、配置方法使用前提:网站开启了 HTTPSServiceWorker 脚本必须与网站同域,且在网站根目录,且网站不能存在证书问题

一次深入了解诈骗手段的经历之壹理财

曾经,我怀着投资生财的想法,投资了 P2P 平台,自 2018 年暴雷以来,到如今已经 4 年了,没有任何回款的消息,各个群内各种兑付消息不断。 我很清楚这是陷阱,但却无能阻止他人跳入其中…… 那就看一下吧,出于好奇的心理,抱着学习了解的心态,看看他们是如何捕猎的。

生活 

通过Service Worker实现网页离线缓存、CDN并发请求和缓存版本控制

Service Worker 是一个服务器与浏览器之间的中间人角色,它可以拦截网络请求并根据网络具体情况采取适当的动作、更新来自服务器的的资源。本文通过 Service Worker 代理请求,实现网页第二次访问的离线访问和CDN并发请求功能,提高网站的访问速度,同时能够避免 jsDeliver 这类 CDN 问题造成的网站不可用的情况。

Docker 一些基础使用命令

本文基于 docker 20.10.12 版本,整理了 docker 中一些常用的基础命令,命令主要分为镜像相关和容器相关两个部分。

运维 

Java 锁系列(四)——ReentrantLock源码Condition实现分析

Condition 是个接口,依赖于 Lock 接口的实现,基本的方法就是 await() 和 signal() 方法,是在 java 1.5 中才出现的,用于替代 Object 的 wait()、notify() 实现线程间的协作,相比使用 Object 的 wait()、notify(),使用 Condition 的 await()、signal() 这种方式实现线程间协作更加安全和高效。因此通常来说比较推荐使用Condition,阻塞队列实际上是使用了Condition来模拟线程间协作。