程序人生
文章平均质量分 76
程序人生
这是一个懒人
人太懒,都快废掉了。
展开
-
Spring Security 文章目录
spring boot security(一)、spring boot security 认证–自定义登录实现(二)、spring boot security 授权–自定义授权实现(三)、spring boot security 加载流程简介(四)、spring boot security 请求流程 和 filter 说明(五)、spring boot security Security...原创 2019-01-31 11:10:27 · 1271 阅读 · 0 评论 -
(三)、基于Spring Security OAuth2 实现 implicit + jwt 方式的单点登录
更多相关文章请见:Spring Security文章目录1、简介某些场景下 单点登录系统sso 和 应用系统sso-client直接网络无法联通,可以考虑直接使用implicit方式的oauth2 + jwt 进行实现。实现目标:多应用系统单点登录功能(一次登录,访问多个系统,默认通过sso会话实现登录保持,集群环境可以考虑将session也转成token)。应用系统 to...原创 2019-01-31 15:21:24 · 2381 阅读 · 0 评论 -
(二)、Spring Security OAuth2 四个常用注解说明
更多相关文章请见:Spring Security文章目录 1、模块说明:资源服务:提供资源访问 认证授权服务:提供认证和授权服务 客户端:请求资源服务的OAuth2 客户端 应用系统:提供应用能力的系统,在单点登录sso场景下,每一个需要认证授权服务认证授权的系统,就是一个应用系统。2、常用注解:spring security oauth2 提供了四个常用注解,来辅助oau...原创 2019-01-31 15:08:09 · 5687 阅读 · 0 评论 -
(一)、Spring Security OAuth2 五种授权方式介绍
1、简介OAuth 2.0定义了五种授权方式。authorization_code:授权码类型,授权系统针对登录用户下发code,应用系统拿着code去授权系统换取token。implicit:隐式授权类型。authorization_code的简化类型,授权系统针对登录系统直接下发token,302 跳转到应用系统url。password:资源所有者(即用户)密码类型。应用系统采集...原创 2019-01-31 11:24:29 · 6741 阅读 · 1 评论 -
(五)、spring boot security SecurityProperties 配置说明
Spring Security文章目录 类路径:org.springframework.boot.autoconfigure.security.SecurityProperties配置: {"name": "security.basic.authorize-mode","type": "org.springframework.boot.autoconfigure....原创 2019-01-08 10:08:46 · 4967 阅读 · 0 评论 -
(四)、spring boot security 请求流程 和 filter 说明
Spring Security文章目录简介:此处以我们前面demo中的用户名密码登录作为例子进行说明。 登入 登出流程如下: filters逻辑如下: 1、MethodSecurityInterceptor 流程与 FilterSecurityInterceptor 类似。2、demo中的自定义AuthenticationProcessingFilt...原创 2019-01-08 10:05:18 · 639 阅读 · 0 评论 -
(三)、spring boot security 加载流程简介
流程图说明:核心关注FilterChainProxy的生成。部分注释点说明:1、为webSecurity设置webSecurityConfigurersorg.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration#setFilterChainProxySec...原创 2019-01-08 09:59:48 · 1632 阅读 · 0 评论 -
(二)、spring boot security 授权--自定义授权实现
1、简介spring security主要分为两部分,认证(authentication)和授权(authority)。这一篇主要是授权部分,它由FilterSecurityInterceptor逻辑拦截处理,具体通过AccessDecisionManager实现。1.1 系统授权实现说明系统提供了三种实现方式:AffirmativeBased(spring securit...原创 2019-01-07 22:21:40 · 3190 阅读 · 0 评论 -
(一)、spring boot security 认证--自定义登录实现
简介spring security主要分为两部分,认证(authentication)和授权(authority)。这一篇主要是认证部分,它由 ProviderManager(AuthenticationManager)实现。具体层次结构如下:认证的核心就是登录,这里简单介绍下security自定义token登录的实现逻辑,同时兼容用户名密码登录。大体分为以下几个步骤:...原创 2019-01-07 22:19:13 · 2857 阅读 · 0 评论 -
记:一次 spring cloud @PostConstruct 执行两次的分析
1、前言最近遇到一个情况,@PostConstruct 方法会被执行两次,感觉有点奇怪,跟踪代码简单分析了下,场景有点特殊,这里记录下。@PostConstruct属于JSR250规范,在bean创建完成并且属性赋值完成之后会执行该初始化方法。内部通过InitDestroyAnnotationBeanPostProcessor实现逻辑。2、@PostConstruct 出问题写法说...原创 2018-11-19 15:20:21 · 3777 阅读 · 1 评论 -
spring cloud EurekaClient 多网卡 ip 配置 和 源码分析
1、前言对于spring cloud,各个服务需要注册到Eureka注册中心。一般会配置ip注册,即eureka.instance.prefer-ip-address=true。但是,如果服务所在的环境存在多个网卡,经常会出现注册过去的ip不是我们想要的ip。2、配置解决说明针对上面的情况,我们一般有几种不同的解决思路。2.1、方法一:直接配置eureka.instance.i...原创 2018-11-08 10:09:56 · 4993 阅读 · 2 评论 -
spring cloud eureka client源码解析
前言eureka是springcloud 常用的注册中心,这里简单介绍下,eureka client注册逻辑的实现。eureka-client是1.6.2版本。eureka server api参考 https://blog.csdn.net/qq_30062125/article/details/83829357。这里,eureka client分析主要分三个步骤:eure...原创 2018-11-07 22:14:00 · 848 阅读 · 1 评论 -
支持端口转发的tomcat docker镜像
描述某些场景下,需要访问容器自己的端口中转到其他地址。这里记录一下,备用镜像hub.c.163.com/muxiyue/tomcat:8.5.14-jre8-rinetddockerfile文件# 拉取基础镜像#FROM hub.c.163.com/library/java:8-jdkFROM hub.c.163.com/library/tomcat:8.5.14-jre...原创 2018-11-07 17:09:54 · 270 阅读 · 0 评论 -
eureka server 常用api说明
常用api枚举请求方式url说明GEThttp://localhost:8761/eureka/apps查询所有应用实例GEThttp://localhost:8761/eureka/apps/SERVICES2根据 AppId 查询GEThttp://localhost:8761/eureka/apps/SERVICES2/services2:7f4...原创 2018-11-07 18:25:58 · 5888 阅读 · 0 评论 -
安装phantomjs报错解决
前言最近有个项目要搞下jenkins自构建,微服务中注册中心用了jhipster registry,需要编译前端代码。yarn运行过程中 PhantomJS压缩包解压安装报错。找度娘问了下,提供包的很少,要么速度贼慢;要么藏着掖着,要积分;要么方法不行,吐槽下o(╯□╰)o。后来重新看了下包,其实是解压方式有问题,这个bz2后缀其实是假的,总结了下方法。1. 下载包htt...原创 2018-11-01 17:57:48 · 996 阅读 · 0 评论 -
spring boot kafka 支持批量操作
前言最近有个项目存在kafka积压情况,上去看了下,的确积压挺厉害。看了下代码,spring boot 是1.5.13.RELEASE版本,kafka使用的是spring boot的自动配置,@KafkaListener每次处理一条数据,每次逻辑中存在多次数据库操作。准备修改下逻辑,@KafkaListener批量处理数据,合并逻辑,并且批量操作数据库,提高处理速度。原有逻辑1.po...原创 2018-10-16 18:11:17 · 8159 阅读 · 0 评论 -
记:一次kafka内外网访问设置
前言公司的网络是隔离的,服务器网络与工作网络相互隔离,只能通过端口转发(Port Forwarding)功能中转到本地端口。这会造成服务器的ip无法在本地直接连通。这里记录下相关配置,便于后续查找。环境描述这里为了展现场景,直接使用docker模拟一个单节点环境。zookeeper 搭建docker run -d --name zookeeper --publish 22...原创 2018-10-13 17:23:10 · 6829 阅读 · 1 评论 -
maven插件开发和调试
maven插件开发官方文档 http://maven.apache.org/plugin-developers/index.html1.新建maven工程pom.xml参考:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache原创 2018-10-09 16:18:22 · 1928 阅读 · 1 评论 -
二、go语言入门
具体见:go语言入门文档转载 2018-09-30 15:15:02 · 149 阅读 · 0 评论 -
TCP协议中的三次握手和四次挥手
转自https://blog.csdn.net/whuslei/article/details/6667471/建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。 【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!...转载 2018-10-08 14:05:40 · 145 阅读 · 0 评论 -
一、go 简要说明
go 环境变量GOROOT该环境变量的值为Go语言的安装目录。如:export GOROOT=/usr/local/goGOPATHGo语言工作区间集合。如:export GOPATH=~/golib:~/goprojectGOBIN存放Go程序可执行文件的目录。如:export GOBIN=~/gobinPATH为了方便使用Go语言命令和Go程序的可执行文件,...原创 2018-09-30 09:21:53 · 556 阅读 · 0 评论 -
网络测速工具
一、Speedtest测试外网网速Speedtest是用来测试网络性能的开源软件,在Linux下面安装Speedtest可以用来测试网络出口的上传和下载速度,帮助排查网络方面导致的故障。官网:Github链接:https://github.com/sivel/speedtest-cliSpeendtest.net官网:http://www.speedtest.net/...原创 2018-07-04 10:47:14 · 19943 阅读 · 0 评论 -
系统硬件性能分析工具
1.硬件瓶颈• CPU、内存、磁盘I/O、网络I/O、进程和线程2. CPU评估:字段说明:Procs(进程)r: 运行和等待CPU时间片的进程数,如果长期大于系统CPU的个数,CPU遇到瓶颈,需要扩展CPU。 b: 等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。Memory(内存)swpd: 使用虚拟...原创 2018-06-28 14:52:11 · 1472 阅读 · 0 评论 -
(一):centos7 安装 docker-ce
简介描述Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。相关组件 docker imagesdocker images 就是一个只读的模板,一个 image 可以包含一个 ubuntu的操作系统,里面安装了具体的应用程序。imag...原创 2018-09-19 14:41:19 · 866 阅读 · 0 评论 -
(二):非root用户启动docker
1.创建用户组[root@localhost ~]# groupadd docker2.创建账号docker[root@localhost Portus-2.3.3]# useradd -g docker -d /home/docker -m docker[root@localhost Portus-2.3.3]# passwd docker #输入密码 123456[ro...原创 2018-09-19 14:42:48 · 1208 阅读 · 0 评论 -
(三):docker registry2 搭建
简介docker hub使用hub.docker.com作为公共仓库,与之相对应,我们可以通过registry来搭建自己的私有仓库,提升镜像仓库的访问速度。1.环境描述[root@localhost docker.registry:5000]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.3 (Maip...原创 2018-09-19 14:47:59 · 778 阅读 · 0 评论 -
(四):harbor安装和简单使用
简介官网地址:https://github.com/goharbor/harborHarbor是基于docker registry服务,添加了用户权限管理、镜像复制等功能的镜像仓库。具体模块如下:主要组件包括proxy【nginx前端代理,用来分发前端页面ui访问和镜像上传和下载流量】;ui【提供了一个web管理页面,还包括一个前端页面和后端API,底层使用mysql数据库...原创 2018-09-19 14:51:56 · 2021 阅读 · 1 评论 -
(五):dockerfile说明和使用
简介dockerfile是用来构建镜像的一种方法。通过Dockerfile文件,根据对应的规则构建镜像,其中Dockerfile文件记录了镜像构建的所有步骤。官方文档https://docs.docker.com/engine/reference/builder/#usagehttps://docs.docker.com/develop/develop-images/dockerfile_...原创 2018-09-19 14:52:55 · 219 阅读 · 0 评论 -
(六):maven docker 相关操作
简介通过maven插件,结合maven命令,实现打包、生成镜像、推送到仓库中心功能。1、开启Docker daemon服务远程访问修改配置 修改 /etc/docker/daemon.json 文件,没有就创建,文件内容如下:{ "hosts": [ "tcp://0.0.0.0:2376", "unix:///var/run/docker.sock" ]...原创 2018-09-19 14:54:11 · 1227 阅读 · 0 评论 -
(七):docker-compose安装和使用
简介 Compose 用来定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。 使用Compose 基本上分为三步:1.Dockerfile 定义应用的运行环境 (前面已经介绍过)。2.docker-compose.yml 定义组成应用的各服务3...原创 2018-09-19 14:54:42 · 504 阅读 · 0 评论 -
(八):docker swarm简单使用
简介Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。nodeswarm 中的每个 Docker Engine 都是一个 node,有两种类型的 node:manag...原创 2018-09-19 14:55:20 · 1240 阅读 · 0 评论 -
(九):Portainer安装和使用
简介Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。安装安装官网地址参考:https://portainer.readthedocs.io...原创 2018-09-19 14:56:33 · 4109 阅读 · 0 评论 -
(十):日志采集log-pilot+ELK
集群方式安装内部服务 3个elasticsearch 1个logstash 1个kibana N个log-pilot(每个需要采集日志的swarm节点一个)安装log-pilot官网参考https://github.com/AliyunContainerService/log-pilot启动容器 目前swarm不提供privileged权限,无法使用swarm集群创建 ...原创 2018-09-19 14:57:14 · 2599 阅读 · 0 评论 -
分析中文编码问题
简介 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换较多。本文将向你详细介绍 Java 中编码问题出现的根本原因,你将了解到:Java 中经常遇到的几种编码格式的区别;Java 中经常需要编码的场景;出现中文问题的原因分析;在开发 Java web 程序时可能会存在编码的几个地方,一个 HTTP 请求怎么控制编码格式?如...转载 2018-07-31 18:43:10 · 472 阅读 · 0 评论