无奈何杨(wnhyang)

I will keep to fight

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


原本标题是:“Sa-Token登录详解”,写着写着,发现字数兜不住了,无奈还是拆开吧😂

前文讲了Sa-Token组件介绍,基本上重要的satoken组件都过了一遍,最后也简单说明了一下组件注册管理机制。本文就satoken登录前必须了解的进行说明。

环境声明:

Sa-Token官网,版本1.37.0

依赖:

sa-token-spring-boot-starter

sa-token-redisson-jackson

以上环境表示本次登录详解针对的是普通登录(非SSOOAuth场景),集成redisson存储satoken数据。

登录应该如何设计

如果让我们来设计权限认证框架,或是说,让我们对使用过的权限认证框架进行抽象,使之能面对多种不同的登录鉴权场景,我们应该如何设计?

已知我登录送的用户id是1,下面这张图展示的是satoken在一次登录成功后在redis中产生的k-v数据。

登录成功后redis的数据
阅读全文 »

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


前言

借用AI回答“图床是什么?”

图床是一种网络服务,它提供在线存储图片的空间,用户可以将自己的图片上传到图床服务器上,并获取该图片的网络链接(URL)。这个链接可以直接在网页、论坛、博客、社交媒体等地方使用,当访问者打开含有该链接的页面时,浏览器会从图床服务器加载图片并显示在对应位置。通过使用图床,用户可以减轻自己网站服务器的存储和带宽压力,同时提高内容加载速度,尤其是对于那些希望快速展示大量图片但自身服务器资源有限的情况。

图床通常具有以下特点:

  • 提供上传接口:可以通过网页端、客户端工具或API进行图片上传。
  • 链接生成与管理:上传成功后自动生成可公开访问的链接,有的还支持防盗链、链接有效期等功能。
  • 存储空间大小限制:免费图床可能有存储空间或流量的限制,付费图床则通常提供更多存储和更快的访问速度。
  • 可能提供的额外服务:如缩略图生成、图片处理(裁剪、压缩等)、CDN加速以优化全球访问速度等。

常见的图床服务商包括但不限于新浪图床、SM.MS、Imgur、七牛云、腾讯云COS、阿里云OSS、又拍云等。

对于我而言,使用图床的最大目的就是应用于个人博客。对于个人需求不大的,且几乎无商业性质的,诉求还是希望是免费、简单、稳定的。下面就此要求介绍和使用PicX图床。

阅读全文 »

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


前文讲了Sa-Token介绍与SpringBoot环境下使用,但是satoken最重要的登录鉴权直接略过了,那这篇文章就开讲,😂当然不是啦。看标题就知道这次要讲的是satoken组件,为什么这么安排呢,是因为我在细致了解satoken源码后,还是非常想把satoken讲的比较清楚细致的,包含其中一些设计模式的使用、函数式接口的应用、组件注册的方法等,而要讲好这些,satoken的组件一定要讲一下吧,废话不多说了,下面开始。

必要声明:文章基于Sa-Token,版本1.37.0

satoken项目结构

下载源码

1
git clone https://github.com/dromara/Sa-Token.git

项目结构介绍

项目结构组织如下,结构还是相当清晰明了的。我也不可能把所有工程代码详细都讲一下,只能根据satoken最重要的模块挑一部分细致讲一下。

阅读全文 »

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


官网:Sa-Token

一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!

介绍

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权 等一系列权限相关问题。

官方文档写的已经非常好了。引用官方文档开头的一段话:

本文档将会尽力讲解每个功能的设计原因、应用场景,用心阅读文档,你学习到的将不止是 Sa-Token 框架本身,更是绝大多数场景下权限设计的最佳实践。

确实,通过阅读官方文档有学到很多东西,收获更大的是结合我的使用体验,下载并阅读源码后有学到了一些东西想和大家分享!这篇文章只是开头。

阅读全文 »

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


Proxy SwitchyOmega

轻松快捷地管理和切换多个代理设置。

安装

SwitchyOmega谷歌商店:https://chromewebstore.google.com/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif

备用下载地址:https://github.com/FelisCatus/SwitchyOmega/releases

官网下载地址:https://switchyomega.org/switchyomega-download/

以上都不行的话,可以在Edge浏览器扩展找到它:https://microsoftedge.microsoft.com/addons/detail/proxy-switchyomega/fdbloeknjpnloaggplaobopplkdhnikc

阅读全文 »

随着云计算技术的不断发展,越来越多的企业和个人开始使用云服务器来托管网站、应用程序和其他在线服务。云服务器提供了一种灵活、可扩展且成本效益高的解决方案,使得用户可以轻松地部署和管理自己的在线业务。本文将为您提供一份详细的云服务器使用指南,帮助您更好地利用云服务器。

一、选择合适的云服务器提供商

市场上有许多云服务器提供商,如阿里云、腾讯云、亚马逊AWS等。在选择云服务器提供商时,您需要考虑以下几个因素:

  • 价格:比较不同提供商的价格,选择性价比最高的方案。
  • 性能:根据您的需求选择合适的CPU、内存和存储配置。
  • 可靠性:了解提供商的数据中心分布和网络连接质量,确保您的服务稳定可靠。
  • 技术支持:选择提供良好技术支持的提供商,以便在遇到问题时能够得到及时的帮助。

这些云服务器提供商针对个人和企业用户有非常多的产品可供挑选,尤其是对于新用户、学生更是有很多优惠。

阅读全文 »

#Spring Boot Admin

也许你在学习SpringBoot的时候有接触Admin监控,但是因为是自学没有真正意义上跑的项目,只是每次启动后调试一下然后就关闭了,所以监控的意义其实不大。况且,我们基本上都是本地跑的项目,基本上不会有什么压力,也很少去分析接口耗时、Jvm堆栈、线程、CPU、内存等,也是因此我们一直都有忽略监控的重要性。其实也都可以理解,没有这样的需求怎么会去探索呢。就像现在工作了,自己也有买服务器跑项目,就会不自觉地去做这些事情,驱动力来源就是自己了,完全不用借助他力。很多事情也是一样,现在做那些没必要的事情我觉得很烦,没有意思,也用不到,但是一旦与我息息相关,牵扯到利益上,对不起,我绝不放弃。

监控系统介绍

于我而言,见过的监控系统也并不多,仅仅知道ZabbixPrometheus+Grafana仅此而已,

https://blog.csdn.net/liu320yj/article/details/123554297

讯飞大模型

今年AI的风潮还没有停歇,就像是去年的俄乌战争一样,好像是只是出现在去年的年初,然后就消失了一样,其实一直战争都在持续,只是因为公众已经被其他的新闻所转移了视线,是的,人们只会对当下新鲜的事物所吸引,总是忘记一些很重要的事情。不只是AI,很多事情也是一样,当他出现在热搜时,我们去关注,去挖掘,去思考,等一下更具吸引力的热搜出现,之前的变得无人问津的时候,好像它就过去了一样,然而往往不是这样的。讲的有点偏了,扯回话题,国内AI,准确的说是今年大火的AI大模型很让国人失望,当然也包括我,具体的就不吐槽了,知道知道讯飞星火,体验了一下还非常不错,才有了一点改观,虽然与国外的大模型相比还有差距,但还是值得欣慰的。

最近讯飞开发公众免费体验讯飞大模型api的机会,正好我也体验了一下,每人免费20w``token,还是可以玩一玩的,借此记录体验感受。

参考

讯飞大模型

一文吃透 WebSocket 原理 刚面试完,趁热赶紧整理

Websocket技术的Java实现(上篇)

Websocket技术的Java实现(下篇)

springboot整合webSocket(看完即入门)

WebSocket

提到WebSocket的原因是讯飞提供的Java示例使用就是WebSocket技术,这下不得不了解一下了。

Socket想必在学习计算机网络时都会有些了解,这个WebSocket虽然听过但完全没概念,所以上面贴上了一些WebSocket入门的一些博客,看了仿佛打开了新世界,到目前为止只会写Controller提供的Http接口,这个WebSocket还是很值得学一下的,相信能玩一些很有趣的事情。

下面是直接下载讯飞官网Java示例运行后,对话中产生的,这一次对话使用大概500多token,免费体验的token这样看起来不算多了,但还是能尝试一下集成在微信公众号、群聊机器人、个人网站等等。

我:java实现websocket的方法 大模型:Java实现WebSocket的方法有很多,这里给出一个使用Java-WebSocket库的简单示例:

  1. 首先,需要在项目中添加Java-WebSocket依赖。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖:
1
2
3
4
5
><dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.5.2</version>
</dependency>
  1. 创建一个WebSocket客户端类,继承org.java_websocket.client.WebSocketClient,并重写相关方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
>import org.java_websocket.client.WebSocketClient;
>import org.java_websocket.handshake.ServerHandshake;

>import java.net.URI;
>import java.net.URISyntaxException;

>public class MyWebSocketClient extends WebSocketClient {

public MyWebSocketClient(URI serverUri) {
super(serverUri);
}

@Override
public void onOpen(ServerHandshake handshakedata) {
System.out.println("连接已打开");
}

@Override
public void onMessage(String message) {
System.out.println("收到消息: " + message);
}

@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("连接已关闭");
}

@Override
public void onError(Exception ex) {
ex.printStackTrace();
}

public static void main(String[] args) {
try {
MyWebSocketClient client = new MyWebSocketClient(new URI("ws://localhost:8080/websocket"));
client.connect();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}

在这个示例中,我们创建了一个名为MyWebSocketClient的类,继承了WebSocketClient,并重写了onOpenonMessageonCloseonError方法。然后在main方法中,我们实例化了这个类,并连接到了一个运行在本地的WebSocket服务器。 ************************************************************************************* 我:

许久没更新了

每次好久不更新,再回头看的的时候就像看许久未打扫的屋子一样,杂乱而又陌生。哈哈哈哈

简单讲讲这段时间做的事情吧,一边是记录生活,一边是激励自己吧。

永远不要放弃你所热爱的

工作没有不烦的,不多提了。

学习呢,还是想自己做一套完整的系统,之前的白嫖敏捷开发体系Docker 部署 Java 镜像Apifox 简单使用初次使用 XXL-JOBXXL-JOB 发送过期邮件提醒自己写 spring-boot-starter-xxx微服务集成 sa-token 小记等一些文章已经说过了,目前进度大概是,后端接口部分大致完成,现在需要一个前端系统,而我的前端水平又不是太行,之前有过下载开源项目改改使用的经历,我想想参照着官网和成功的开源项目我也是可以的,所以最近一直在搞这个前端,遇到过不少问题,关键是这些问题我是比较难下手的,用的已有框架比较新,已有的使用经验也比较少,所以经常卡住,比较难搞哦。

另外,每每到周末除了偶尔有约能出去玩外,一直闷在屋子里,也是这段时间追完了老《三国》电视剧,真的好看,太好看了。四大名著除了国人耳熟能详的西游,我最熟悉的其实是水浒,之前所有一百单八将绰号和姓名我全部能对上,随便问都能直接答出来,就这种程度。三国更多记忆还是小时候的动画片和干脆面集卡,大致的故事都知道,但是也只是大致,很多都没有很理解,直到我看完了这部无比优秀的《三国》,有很多感触。东汉末年的乱世,桃园三兄弟的情谊,大将军与十常侍,董卓的专横跋扈,当初意气风发三公四世的袁绍,趋炎附势武功盖世的吕奉先,曹老板的心狠手辣和雄心壮志,乱世佳人美貂蝉,不信鬼神的江东猛虎孙伯符,义薄云天的关二爷,勇猛无畏的三爷,未献一计的徐元直,千里走单骑的云妹,雄姿英发羽扇纶巾周郎,守口如瓶鲁子敬,合肥战神孙仲谋,鞠躬尽瘁死而后已诸葛丞相,继承诸葛丞相意志的姜伯约,演技超群司马仲达,钟会邓艾破蜀,等等,太过精彩

除此之外要接触一下经典的电影,这个时代能花费一个多小时甚至是两个小时,安静的沉下心地去看完一整部电影的人恐怕不多了。经典就是经典,经久不衰,总能有些体会和收获。

健身会上瘾的哦

健身会上瘾是真的,自从我开始力量训练就停不下来了,也不是盲目的追求大重量,就是每次脱下衣服照镜子,看到自己的进步就很开心!

都说上班会制造各种疾病,我偏不,就是要跟他干,现在身体倍棒,就是偶尔太馋啦。

Game

因为我早已告别pc游戏,只剩下手游可以消遣,也只有联盟手游和金铲铲给我打发时光,嘿嘿

一句话,成为更好的自己!!!

安全框架

想必一旦涉及到Spring安全框架,很容易就会想到SpringSecurityShiro,了解过的都知道,完美的集成一套安全框架是多么麻烦的事情,所以大家都有努力在简化安全框架的集成成本。

我也是在自己做项目中需要集成安全框架才有了这篇文章,上面的两位的集成难度对我这种小菜鸡还是太难了。所以果断寻求别的方案,这不,发现了这个Sa-Token

Sa-Token 介绍

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权 等一系列权限相关问题。

以上介绍复制于官网,在自己体验和使用后,感受就是🥳

Sa-token使用起来真的非常简单方便,具体使用上,直接看官网就好,这里主要讨论一个问题:

在微服务模式下,auth(认证中心)的拆解,是归于system(系统),还是独立的,如果是独立的。。。如果不是独立的。。。

阅读全文 »
0%