自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Markix的博客

星星点灯,愿照亮你我前行漫漫长路。

  • 博客(296)
  • 资源 (8)
  • 收藏
  • 关注

原创 【Spring Security 系列】(一)入门篇,快速搭建一个安全Web服务

Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。 它是保护基于 Spring 的应用程序的事实标准。Spring Security 是一个专注于为 Java 应用程序提供身份验证和授权的框架。像所有 Spring 项目一样,Spring Security 的真正强大之处在于它可以轻松扩展以满足自定义需求。...

2022-08-07 16:54:21 1186 1

原创 【Spring Authorization Server 系列】(一)入门篇,快速搭建一个授权服务器

Spring Authorization Server是一个框架,提供了OAuth2.1和OpenIDConnect1.0规范以及其他相关规范的实现。它建立在SpringSecurity之上,为构建OpenIDConnect1.0IdentityProviders和OAuth2AuthorizationServer产品提供安全、轻量级和可定制的基础。旧版的框架是,该框架已停止维护。SpringSecurityOAuth2认证/授权服务器的前世今生。...............

2022-08-01 00:50:55 9608 16

原创 KeyStore是什么

简述What is the purpose of keystoreKeyStore是一个存储库,可用于存储一系列密钥(Secret Key)、密钥对(Key Pair)或证书(Certificate)。密钥:只有一个钥,一般是对称加密时使用。密钥对:包含公钥(Public Key)和私钥(Private Key),一般是非对称加密时使用。KeyStore可以设置密码。密钥、密钥对、证书在KeyStore统称为Key,每一个Key通过alias(别名)区分。Key也可以设置密码。JKS(J

2021-08-09 01:12:30 10498

原创 gitlab prometheus Failed to list *v1.Node: nodes is forbidden: User \“system:serviceaccount:default:

原因:如果 GitLab 服务器在 Kubernetes 中运行,则 Prometheus 将从群集中的节点和带注释的 Pod 收集指标,包括每个容器上的性能数据.。解决:关闭gitlab里内置prometheus监控k8s的功能。方式一:修改 /etc/gitlab/gitlab.rb。方式二:通过添加环境变量关闭。

2023-12-07 15:00:13 642

原创 jenkins 使用原生 git clone 命令,指定ssh密钥文件

【代码】jenkins 使用原生 git clone 命令,指定ssh密钥文件。

2023-11-17 10:47:05 821

原创 Jenkins Docker Swarm插件 配置的坑

配置 Docker Host URI。

2023-11-14 08:30:00 826

原创 shell远程执行命令无法将命令结果给变量赋值问题

关于HereDoc:使用无引号分隔符时,请确保转义所有变量、命令和特殊字符,否则将在本地进行插值!

2023-09-25 15:28:25 336

原创 容器管理平台 Portainer

通用的容器管理平台Portainer。支持Docker、Kubernates(k8s)。

2023-09-12 01:34:40 375

原创 idea gerrit 插件使用指引

idea安装gerrit;推送到 refs/for/{branch} 分支;对 commit 进行 review打分;review完没问题,则进行submit,对应的代码才会合并到真正的分支中。

2023-08-20 08:30:00 878

原创 一文读懂SpringBoot配置的加载机制、优先级、外部化配置

1. 如果多个配置文件存在同名的配置key,最终生效的值会采用哪个文件的? 2. 打成jar后部署运行时,需要修改某些配置(eg:数据库信息)怎么办?难道要解压jar去改里面的配置文件? 这便是本文要探究的问题,关于配置的优先级以及加载机制。

2023-03-30 02:22:25 742 1

原创 IDEA git 提交窗口 独立commit窗口

IDEA commit窗口、commit标签、commit对话框

2023-03-09 23:18:43 9816

原创 docker login 账号密码查看

docker login 之后,会在 /root/.docker/config.json 中保存base64编码后的用户名和密码信息。执行 sudo cat /root/.docker/config.json 打印文件内容,如下:{ "auths": { "registry.*****.com": { "auth": "bWFya2l4OjEyMzQ1NmFiYw==" } } }文件中 auth 的值就是账号信息,解码后

2023-02-15 16:35:34 4804

原创 执行shell脚本使用docker build报错

报错信息:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.26/原因:查询问题发现是使用非root用户时操作docker会提示无权限。解决:方法1:给用户授予docker用户组方法2:执行命令前面加上 sudo,比如 ’ sudo docker ps

2023-01-12 09:39:45 277

原创 IDEA版本和JDK版本对应关系

2022.3 Java 7 ~ 19 2022.2 Java 6 ~ 19 2022.1 Java 6 ~ 18 2021.3 Java 6 ~ 17 2021.2 Java 6 ~ 17 2021.1 Java 6 ~ 16 2020.3 Java 6 ~ 15 2020.2 Java 6 ~ 15 2020.1 Java 6 ~ 14 2019.3 Java 6 ~ 13 2019.2 Java 6 ~ 13 2019.1 Java 6 ~ 12

2022-12-12 16:35:43 18207 2

原创 Spring Security 前后端分离(前端篇)

一个最基本的前后端分离并且有登录认证的项目。后续可以开发像用户管理、角色管理、菜单管理等后端功能,前端可以基于角色,将用户的菜单渲染出来等等。

2022-11-14 18:00:38 1227

原创 Spring Security 前后端分离

前后端分离指的就是前后端分离部署,前端 调用后端API,后端 返回 JSON格式数据,页面是由前端渲染并展示到浏览器中。Spring Security 涉及到的扩展点:登录成功处理:AuthenticationSuccessHandler登录失败处理:AuthenticationFailureHandler登出成功处理:LogoutSuccessHandler未登录处理:AuthenticationEntryPoint鉴权失败处理:AccessDeniedHandler

2022-11-14 16:57:43 3009 2

原创 17 微信OAuth2授权登录

利用 微信OAuth2网页授权 实现登录功能。

2022-10-31 11:33:07 2632 2

原创 16 OAuth2登录流程分析

Client获取用户授权,得到令牌,通过令牌,获取用户信息(资源)。再在本地构建用户登录认证信息,维持用户会话状态,以此达到登录的目的。OAuth2AuthorizationRequestRedirectFilter、OAuth2LoginAuthenticationFilter

2022-10-28 15:31:13 1464

原创 15 Spring Security OAuth2登录(三方登录)

OAuth2可以用来实现 OAuth2登录(三方登录)。在OAuth2登录的场景中,用户信息则是"资源"!Spring Security 实现了 OAuth2登录功能。实现原理是:Client获取用户授权,得到令牌,通过令牌,获取用户信息(资源)。再在本地构建用户登录认证信息,维持用户会话状态,以此达到登录的目的。

2022-10-28 14:06:10 2550 5

原创 Spring Security 自定义登录认证

Spring Security 自定义登录认证(扩展多种方式)

2022-10-28 10:23:46 985

原创 14 异常处理 & 日志

很多异常信息都是简化的信息,很难直观看出根本原因,而且后台还没有打印异常日志。笔者通过 debug 来查看异常日志。

2022-10-27 14:37:29 561

原创 13 令牌颁发方式 之 刷新令牌

在授权码模式颁发令牌时,当发现该客户端支持 REFRESH_TOKEN 模式时,还会返回刷新令牌。客户端可以使用刷新令牌(refresh token)重新获取访问令牌(access token)。(一般来说访问令牌时效会比较短,刷新令牌时效比较长,通过刷新令牌获取访问令牌可以避免多次授权)

2022-10-10 10:28:13 868 2

原创 12 令牌颁发方式 之 授权码模式

授权码模式的流程:1. 客户端发起授权请求 -> 2. 用户授权 -> 3. 客户端拿到授权码code -> 4. 客户端通过code获取token

2022-10-09 18:22:46 890

原创 11 令牌颁发方式 之 客户端凭证模式

客户端凭证模式就是只需要客户端信息,只要通过了客户端认证那一关,就能拿到令牌。

2022-10-09 17:06:08 787

原创 10 令牌颁发 OAuth2TokenEndpointFilter

授权服务器提供令牌颁发接口(/oauth2/token),由客户端发起请求,授权服务器生成访问令牌(access_token)返回,客户端使用此令牌才能去调用资源服务器的接口。Spring Authorization Server 目前支持如下三种令牌颁发策略:Authorization Code、Client Credentials、Refresh Token,分别对应 授权码模式、客户端凭证模式、刷新令牌模式。核心拦截器为 OAuth2TokenEndpointFilter

2022-10-09 15:54:41 1754 5

原创 9 客户端认证方式 之 PKCE

PKCE 是授权码流程的扩展,用于防止 CSRF 和授权码(code)注入攻击。 所以 PKCE 一般都伴随着授权码模式使用,可称之为 增强版授权码流程,又称 Authorization Code with PKCE Flow。用于公共客户端的认证...

2022-09-30 16:31:32 2437 1

原创 8 客户端认证方式 之 private_key_jwt

private_key_jwt 方式就是利用 JWT 进行认证。请求方拥有自己的公私钥(密钥对),使用私钥对 JWT 加签,并将公钥暴露给 授权服务器。授权服务器通过请求方的公钥验证 JWT。也能达到客户端认证的目的。

2022-09-29 10:56:04 1495 3

原创 7 客户端认证方式 之 client_secret_jwt

`client_secret_jwt`方式就是利用 `JWT` 进行认证。请求方和授权服务器,两者都知道客户端的 `client_secret`,通过相同的 `HMAC` 算法(对称签名算法)去加签和验签 `JWT` ,可以达到客户端认证的目的。

2022-09-28 23:42:07 2505 8

原创 6 客户端认证方式 之 client_secret_basic & client_secret_post

client_secret_basic 和 client_secret_post 认证方式都是将客户端的 client_id 和 client_secret 传递给授权服务器,授权服务器接收到请求,则根据不同的认证方式从请求中解析出来客户端信息,对 client_secret 进行验证。

2022-09-28 08:30:00 4276

原创 配置Gradle远程仓库地址

Gradle 用户主目录(默认为 `~/.gradle/`)用于存储全局配置属性和初始化脚本以及缓存和日志文件。在 **Gradle 用户主目录**中新增 `init.gradle` 文件,配置远程仓库地址

2022-09-07 01:46:33 4805 2

原创 不同平台的 OAuth2 接入文档

**标准 的 OAuth2 流程**1. 在授权服务器注册客户端,获得 client_id、client_secret2. 客户端访问授权服务器的授权页3. 用户在授权页,可以选择“授权”或者不授权,选择后会重定向到客户端的回调地址4. 客户端在回调地址拿到code,通过code获取token,通过token获取用户信息

2022-09-04 17:11:38 444

原创 5 客户端认证 OAuth2ClientAuthenticationFilter

当访问 OAuth2 相关接口时,授权服务器需要进行客户端认证。Spring Authorization Server 支持如下五种客户端认证方式:client_secret_basic、client_secret_post、client_secret_jwt、private_key_jwt、none (public clients)。核心拦截器为 OAuth2ClientAuthenticationFilter

2022-09-01 00:28:52 2927 6

原创 4 JWS 的签名方式

JWS 签名算法有三种:- HMAC【哈希消息验证码(对称)】(HS256/HS384/HS512)- RSASSA【RSA签名算法(非对称)】(RS256/RS384/RS512)- ECDSA【椭圆曲线数据签名算法(非对称)】(ES256/ES384/ES512)

2022-08-31 23:35:35 1435

原创 vue路由模式 & 部署路径配置

vue路由模式 & 部署路径配置

2022-08-31 10:26:13 333

原创 3 JWT 和 JWS

JSON Web Token (JWT) 是一个开放标准 (RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间传输信息(Claims)。这些信息以JSON格式定义。JWT 可以理解为是一个规范。实际上,具体的实现方案有 JWS(JSON Web Signature) 和 JWE(JSON Web Encryption)。......

2022-08-29 01:10:16 1190

原创 Maven 没使用本地依赖,报错依赖找不到 Failure to find xxx

Maven编译时总报错依赖找不到,但是直接去本地仓库的查看,发现对应的依赖是存在的,这是怎么回事?这可能是Maven的异常缓存导致的。Maven在依赖下载不下来时,会在对应依赖的目录下生成.lastUpdated 文件(记录失败时间),Maven只要检测到依赖下存在 .lastUpdated 文件,就认为此依赖不可用,而且不会重新去下载。...

2022-08-27 18:05:46 2719

原创 禁用Form表单提交的跳转

默认Form表单提交后浏览器地址会跳转到action地址,有时候我们只是想要Form表单发起一个请求,并不希望浏览器的地址跳转。这就需要禁用Form表单的跳转机制。

2022-08-21 01:24:21 2031

原创 http 请求没携带 cookie

看看 cookie 的 secure 属性是否为 true,如果为 true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的。

2022-08-19 22:51:49 1096

原创 ietf rfc

查看 rfc

2022-08-17 23:27:00 130

原创 OAuth 理论篇

OAuth(Open Authorization)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth是一种授权机制,通过颁发令牌(token)的形式授权第三方应用,获取用户数据。...

2022-08-16 09:30:00 330

LdapAdmin 1.8.3

LDAP可视化软件:LADP Admin 下载地址: http://www.ldapadmin.org/download/ldapadmin.html https://sourceforge.net/projects/ldapadmin/

2022-03-02

带字库依赖的jdk8镜像

有些特定的功能必须要字库,比如生成验证码、生成excel等。官方的jdk8镜像没有自带字库,或者带字库的镜像非常巨大。所以自己构建了一个。 1. 自定义构建镜像的Dockerfile ``` FROM openjdk:8-jdk-alpine # 安装字体库 RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/* ``` 2. 执行构建命令:`docker build -t openjdk:8-jdk-alpine-with-font -f Dockerfile .` 3. 镜像标签为:`openjdk:8-jdk-alpine-with-font`

2022-02-06

portainer_1.23.2.tar

portainer:1.23.2 镜像tar文件。官网:https://www.portainer.io/ 加载镜像:docker load -i portainer_1.23.2.tar 运行容器:docker run -d --name portainer -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer:1.23.2

2020-05-18

hello-world_202005.tar

官方hello-world镜像 tar文件,https://hub.docker.com/_/hello-world 通过 docker pull hello-world && docker save -o hello-world_202005.tar hello-world 命令生成该文件。文件名加上日期仅仅是记录作用,镜像tag是latest,即 hello-world:latest。 加载镜像:docker load -i hello-world_202005.tar 运行容器:docker run hello-world

2020-05-17

spring-framework-4.3.17 源码包

spring-framework-4.3.17.RELEASE.zip spring源码、spring4源码、spring-framework4源码

2020-02-11

spring-framework-5.1.9 源码包

spring-framework-5.1.9.RELEASE.zip spring源码、spring5源码、spring-framework5源码

2020-02-11

Hadoop本地调试 winutil.exe & hadoop.dll

Hadoop本地调试必要的文件 winutil.exe & hadoop.dll 使用方式:https://blog.csdn.net/qq_31772441/article/details/84076715

2018-11-15

反编译插件JD-Eclipse

Eclipse反编译插件JD-Eclipse, 教程传送门:https://blog.csdn.net/qq_31772441/article/details/80281328

2018-05-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除