- 博客(297)
- 资源 (8)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【Spring Security 系列】(一)入门篇,快速搭建一个安全Web服务
Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。 它是保护基于 Spring 的应用程序的事实标准。Spring Security 是一个专注于为 Java 应用程序提供身份验证和授权的框架。像所有 Spring 项目一样,Spring Security 的真正强大之处在于它可以轻松扩展以满足自定义需求。...
2022-08-07 16:54:21
1228
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【Spring Authorization Server 系列】(一)入门篇,快速搭建一个授权服务器
Spring Authorization Server是一个框架,提供了OAuth2.1和OpenIDConnect1.0规范以及其他相关规范的实现。它建立在SpringSecurity之上,为构建OpenIDConnect1.0IdentityProviders和OAuth2AuthorizationServer产品提供安全、轻量级和可定制的基础。旧版的框架是,该框架已停止维护。SpringSecurityOAuth2认证/授权服务器的前世今生。...............
2022-08-01 00:50:55
10322
16
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 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
12004
原创 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
817
原创 jenkins 使用原生 git clone 命令,指定ssh密钥文件
【代码】jenkins 使用原生 git clone 命令,指定ssh密钥文件。
2023-11-17 10:47:05
959
原创 shell远程执行命令无法将命令结果给变量赋值问题
关于HereDoc:使用无引号分隔符时,请确保转义所有变量、命令和特殊字符,否则将在本地进行插值!
2023-09-25 15:28:25
435
原创 idea gerrit 插件使用指引
idea安装gerrit;推送到 refs/for/{branch} 分支;对 commit 进行 review打分;review完没问题,则进行submit,对应的代码才会合并到真正的分支中。
2023-08-20 08:30:00
1400
原创 一文读懂SpringBoot配置的加载机制、优先级、外部化配置
1. 如果多个配置文件存在同名的配置key,最终生效的值会采用哪个文件的? 2. 打成jar后部署运行时,需要修改某些配置(eg:数据库信息)怎么办?难道要解压jar去改里面的配置文件? 这便是本文要探究的问题,关于配置的优先级以及加载机制。
2023-03-30 02:22:25
855
1
原创 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
5881
原创 执行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
329
原创 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
20144
2
原创 Spring Security 前后端分离(前端篇)
一个最基本的前后端分离并且有登录认证的项目。后续可以开发像用户管理、角色管理、菜单管理等后端功能,前端可以基于角色,将用户的菜单渲染出来等等。
2022-11-14 18:00:38
1292
原创 Spring Security 前后端分离
前后端分离指的就是前后端分离部署,前端 调用后端API,后端 返回 JSON格式数据,页面是由前端渲染并展示到浏览器中。Spring Security 涉及到的扩展点:登录成功处理:AuthenticationSuccessHandler登录失败处理:AuthenticationFailureHandler登出成功处理:LogoutSuccessHandler未登录处理:AuthenticationEntryPoint鉴权失败处理:AccessDeniedHandler
2022-11-14 16:57:43
3331
2
原创 16 OAuth2登录流程分析
Client获取用户授权,得到令牌,通过令牌,获取用户信息(资源)。再在本地构建用户登录认证信息,维持用户会话状态,以此达到登录的目的。OAuth2AuthorizationRequestRedirectFilter、OAuth2LoginAuthenticationFilter
2022-10-28 15:31:13
1559
原创 15 Spring Security OAuth2登录(三方登录)
OAuth2可以用来实现 OAuth2登录(三方登录)。在OAuth2登录的场景中,用户信息则是"资源"!Spring Security 实现了 OAuth2登录功能。实现原理是:Client获取用户授权,得到令牌,通过令牌,获取用户信息(资源)。再在本地构建用户登录认证信息,维持用户会话状态,以此达到登录的目的。
2022-10-28 14:06:10
2795
5
原创 13 令牌颁发方式 之 刷新令牌
在授权码模式颁发令牌时,当发现该客户端支持 REFRESH_TOKEN 模式时,还会返回刷新令牌。客户端可以使用刷新令牌(refresh token)重新获取访问令牌(access token)。(一般来说访问令牌时效会比较短,刷新令牌时效比较长,通过刷新令牌获取访问令牌可以避免多次授权)
2022-10-10 10:28:13
974
2
原创 12 令牌颁发方式 之 授权码模式
授权码模式的流程:1. 客户端发起授权请求 -> 2. 用户授权 -> 3. 客户端拿到授权码code -> 4. 客户端通过code获取token
2022-10-09 18:22:46
998
原创 10 令牌颁发 OAuth2TokenEndpointFilter
授权服务器提供令牌颁发接口(/oauth2/token),由客户端发起请求,授权服务器生成访问令牌(access_token)返回,客户端使用此令牌才能去调用资源服务器的接口。Spring Authorization Server 目前支持如下三种令牌颁发策略:Authorization Code、Client Credentials、Refresh Token,分别对应 授权码模式、客户端凭证模式、刷新令牌模式。核心拦截器为 OAuth2TokenEndpointFilter
2022-10-09 15:54:41
1888
5
原创 9 客户端认证方式 之 PKCE
PKCE 是授权码流程的扩展,用于防止 CSRF 和授权码(code)注入攻击。 所以 PKCE 一般都伴随着授权码模式使用,可称之为 增强版授权码流程,又称 Authorization Code with PKCE Flow。用于公共客户端的认证...
2022-09-30 16:31:32
2595
1
原创 8 客户端认证方式 之 private_key_jwt
private_key_jwt 方式就是利用 JWT 进行认证。请求方拥有自己的公私钥(密钥对),使用私钥对 JWT 加签,并将公钥暴露给 授权服务器。授权服务器通过请求方的公钥验证 JWT。也能达到客户端认证的目的。
2022-09-29 10:56:04
1657
3
原创 7 客户端认证方式 之 client_secret_jwt
`client_secret_jwt`方式就是利用 `JWT` 进行认证。请求方和授权服务器,两者都知道客户端的 `client_secret`,通过相同的 `HMAC` 算法(对称签名算法)去加签和验签 `JWT` ,可以达到客户端认证的目的。
2022-09-28 23:42:07
2790
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
5112
原创 配置Gradle远程仓库地址
Gradle 用户主目录(默认为 `~/.gradle/`)用于存储全局配置属性和初始化脚本以及缓存和日志文件。在 **Gradle 用户主目录**中新增 `init.gradle` 文件,配置远程仓库地址
2022-09-07 01:46:33
5145
2
原创 不同平台的 OAuth2 接入文档
**标准 的 OAuth2 流程**1. 在授权服务器注册客户端,获得 client_id、client_secret2. 客户端访问授权服务器的授权页3. 用户在授权页,可以选择“授权”或者不授权,选择后会重定向到客户端的回调地址4. 客户端在回调地址拿到code,通过code获取token,通过token获取用户信息
2022-09-04 17:11:38
484
原创 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
3249
6
原创 4 JWS 的签名方式
JWS 签名算法有三种:- HMAC【哈希消息验证码(对称)】(HS256/HS384/HS512)- RSASSA【RSA签名算法(非对称)】(RS256/RS384/RS512)- ECDSA【椭圆曲线数据签名算法(非对称)】(ES256/ES384/ES512)
2022-08-31 23:35:35
1588
原创 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
1268
原创 Maven 没使用本地依赖,报错依赖找不到 Failure to find xxx
Maven编译时总报错依赖找不到,但是直接去本地仓库的查看,发现对应的依赖是存在的,这是怎么回事?这可能是Maven的异常缓存导致的。Maven在依赖下载不下来时,会在对应依赖的目录下生成.lastUpdated 文件(记录失败时间),Maven只要检测到依赖下存在 .lastUpdated 文件,就认为此依赖不可用,而且不会重新去下载。...
2022-08-27 18:05:46
3268
原创 禁用Form表单提交的跳转
默认Form表单提交后浏览器地址会跳转到action地址,有时候我们只是想要Form表单发起一个请求,并不希望浏览器的地址跳转。这就需要禁用Form表单的跳转机制。
2022-08-21 01:24:21
2266
原创 http 请求没携带 cookie
看看 cookie 的 secure 属性是否为 true,如果为 true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的。
2022-08-19 22:51:49
1303
LdapAdmin 1.8.3
2022-03-02
带字库依赖的jdk8镜像
2022-02-06
portainer_1.23.2.tar
2020-05-18
hello-world_202005.tar
2020-05-17
spring-framework-4.3.17 源码包
2020-02-11
spring-framework-5.1.9 源码包
2020-02-11
Hadoop本地调试 winutil.exe & hadoop.dll
2018-11-15
反编译插件JD-Eclipse
2018-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人