自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 微服务架构spring cloud - 客户端负载均衡 Ribbon(三)

1.什么是RibbionRibbion基于Http和TCP的客户端负载均衡,也是基于Netfix ribbion封装而来。微服务间的调用、API网关的请求转发等时实际上都是通过RIbbion来实现的。还有Feign也是基于Ribbion实现的工具,ribbion是一个工具类框架。2.客户端负载均衡和服务端负载均衡的区别最大的区别就是服务清单的存储位置。客户端负载均衡是自己维护一份服务清...

2018-07-31 11:42:19 958

原创 微服务架构spring cloud - 服务治理 Eureka(二)

1.什么是服务治理实现各个微服务实例的自动化注册与发现,如果没有服务治理那么只能静态配置服务地址,麻烦且容易出错,不易维护。2.服务治理的两大核心服务注册例子:用户注册会员,会员注册中心就有了这个用户的详细信息也就是我们通常所说的注册中心,每个微服务会将自己的信息(主机与端口号、版本号、通信协议等等)登记到注册中心例如192.168.88.8:8000和192.168.88.8...

2018-07-29 23:20:47 727

原创 微服务架构spring cloud - 基础知识 (一)

 1.什么是微服务架构由系统中某一项高度耦合的业务功能做组成,每个服务维护自身的数据存储、业务开发、自动化测试部署、独立部署机制2.与单体系统的区别一个系统如果采用单体系统,那么随着时间的推移业务的增加,系统必定越来越臃肿。从软件工程生命周期来看,生命逐渐下滑。为了挽救这种局面,采用微服务架构3.如何实施微服务(1)由于微服务不断增多,如何进行运维是一个问题(2)接口需要一...

2018-07-28 13:20:21 241

转载 理解JWT的使用场景和优劣 (JWT-3)

发了这两篇文章后,有不少读者在文末留言,表达了对 jwt 使用方式的一些疑惑,以及到底哪些场景适合使用 jwt。我并不是 jwt 方面的专家,和不少读者一样,起初研究时我也存在相同疑惑,甚至在逐渐接触后产生了更大的疑惑,经过这段时间项目中的使用和一些自己思考,把个人的总结整理成此文。编码,签名,加密这些基础知识简单地介绍下,千万别搞混了三个概念。在 jwt 中恰好同时涉及了这三个概念,笔者...

2018-07-27 23:49:58 571

转载 八幅漫画理解使用 JWT设计的单点登录系统 (JWT-2)

用户认证八步走所谓用户认证(Authentication),就是让用户登录,并且在接下来的一段时间内让用户访问网站时可以使用其账户,而不需要再次登录的机制。小知识:可别把用户认证和用户授权(Authorization)搞混了。用户授权指的是规定并允许用户使用自己的权限,例如发布帖子、管理站点等。首先,服务器应用(下面简称“应用”)让用户通过Web表单将自己的用户名和密码发送到服务器...

2018-07-27 21:34:58 234

转载 JSON Web Token - 在Web应用间安全地传递信息(JWT-1)

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。让我们来假想一下一个场景。在A用户关注了B用户的时候,系统发邮件给B用户,并且附有一个链接“点此关注A用户”。链接的地址可以是这样的https://your.awesome-app.com/make-friend/?from_user=B&target_us...

2018-07-27 16:27:38 217

转载 Spring Security(六)—SpringSecurityFilterChain加载流程深度解析

SpringSecurityFilterChain 作为 SpringSecurity 的核心过滤器链在整个认证授权过程中起着举足轻重的地位,每个请求到来,都会经过该过滤器链,前文《Spring Security(四)–核心过滤器源码分析》 中我们分析了 SpringSecurityFilterChain 的构成,但还有很多疑问可能没有解开:这个 SpringSecurityFilterCha...

2018-07-25 22:24:20 22675

转载 Spring Security 与 OAuth2(完整案例)

Demo 流程:使用 OAuth2 密码授权方式提供令牌 资源服务器1(也为客户端)提供登录接口,资源所有者(用户)通过将个人账号密码提供给 资源服务器1,资源服务器1 通过该信息向授权服务器获取令牌 资源服务器1(也为客户端)通过令牌(其中包含了客户端、用户等信息)访问自身受保护的资源(需要权限才能查看的资源) 资源服务器2(也可资源服务器)不包含登录接口,但其提供了某些受保护的资源(...

2018-07-23 22:25:02 1112

转载 Spring Security 与 OAuth2(资源服务器)

resource-server(资源服务器)资源服务器要访问资源服务器受保护的资源需要携带令牌(从授权服务器获得) 客户端往往同时也是一个资源服务器,各个服务之间的通信(访问需要权限的资源)时需携带访问令牌 资源服务器通过 @EnableResourceServer 注解来开启一个 OAuth2AuthenticationProcessingFilter 类型的过滤器 通过继承 Re...

2018-07-23 21:00:10 4248

转载 Spring Security 与 OAuth2(授权服务器)

authrization-server(授权服务器)授权服务配置 配置一个授权服务,需要考虑 授权类型(GrantType)、不同授权类型为客户端(Client)提供了不同的获取令牌(Token)方式,每一个客户端(Client)都能够通过明确的配置以及权限来实现不同的授权访问机制,也就是说如果你提供了一个 “client_credentials” 授权方式,并不意味着其它客户端就要采用...

2018-07-23 17:01:52 14447 1

转载 Spring Security Oauth2 授权源码解析(二)

上一篇文章中我们介绍了获取token的流程,这一篇重点分析一下,携带token访问受限资源时,内部的工作流程。@EnableResourceServer与@EnableAuthorizationServer还记得我们在第一节中就介绍过了OAuth2的两个核心概念,资源服务器与身份认证服务器。我们对两个注解进行配置的同时,到底触发了内部的什么相关配置呢?上一篇文章重点介绍的其实是与身份认...

2018-07-23 11:51:24 3236

转载 Spring Security Oauth2 源码解析(一)

更新注意:-----------------------------------------------------------------------------springboot 2.0使用spring-security-oauth2的迁移指南有朋友使用了 springboot2.0 之后发现原来的demo不能用了,我调试了下,发现springboot2.0和spring5的改动...

2018-07-23 11:09:29 5030 2

转载 Spring Security 访问控制处理器 -(五)

要想实现 Spring Security 在碰到登录失败或者异常等等的时候需要返回 JSON 格式串,只需重写以下几个处理器(JavaConfig)http.exceptionHandling().accessDeniedHandler() http.exceptionHandling().authenticationEntryPoint() http.formLogin().succes...

2018-07-22 16:57:41 682

转载 Springboot编写servlet、filter、listener

1.原理Servlet 的三种方式。1、实现 Servlet 接口因为是实现 Servlet 接口,所以我们需要实现接口里的方法。下面我们也说明了 Servlet 的执行过程,也就是 Servlet 的生命周期。//Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程//一次创建,到处服务//一个Servlet只会有一个对象,服务所有的请求/*...

2018-07-22 15:10:17 321

转载 Spring Security动手实现一个IP_Login-(四)

在开始这篇文章之前,我们似乎应该思考下为什么需要搞清楚Spring Security的内部工作原理?按照第二篇文章中的配置,一个简单的表单认证不就达成了吗?更有甚者,为什么我们不自己写一个表单认证,用过滤器即可完成,大费周章引入Spring Security,看起来也并没有方便多少。对的,在引入Spring Security之前,我们得首先想到,是什么需求让我们引入了Spring Security...

2018-07-21 23:22:26 855

转载 Spring Security核心过滤器源码分析-(三)

前面的部分,我们关注了Spring Security是如何完成认证工作的,但是另外一部分核心的内容:过滤器,一直没有提到,我们已经知道Spring Security使用了springSecurityFillterChian作为了安全过滤的入口,这一节主要分析一下这个过滤器链都包含了哪些关键的过滤器,并且各自的使命是什么。4 过滤器详解4.1 核心过滤器概述由于过滤器链路中的过滤较多,即...

2018-07-21 17:14:30 1790

转载 Spring Security核心配置解读-(二)

3 核心配置解读3.1 功能介绍这是Spring Security入门指南中的配置项:@Configuration@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSe...

2018-07-21 10:27:18 797

转载 Spring Security 源码解析-核心组件(一)

1 核心组件这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。1.1 SecurityContextHolderSecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保...

2018-07-20 23:47:50 623 1

原创 Spring security的基础用法(普通的用户认证和授权)

1.背景Spring Security是一套成熟的安全框架,充分利用了依赖注入和AOP的实现安全功能。安全框架包含两大部分,一个是认证,一个是授权。2.原理其实Spring Security的功能实现主要是依靠DelegatingFilterProxy这一个多个过滤器来实现的。我们需要把这个过滤器注册到web容器上。3.内容1.如何配置自己需要的信息?肯定是需要一个配置类,...

2018-07-16 22:50:01 3198

原创 URL模拟HTTP请求(http客户端)

1.背景平时,在做web开发的时候,例如一些网页的访问,数据的修改查看等等都是使用一些ajax、form表单去访问,这实际上是已经帮我们封装课大部分信息。当我们从web端转到移动端或者pc端的时候,可以考虑使用URL这一java提供的底层类来进行http的请求。2.原理1.首先粗略了解下http协议内容    http报文主体也就是http这个传输内容,通常分成两大部分。第一部分是报文首部,第二部...

2018-07-13 08:54:23 7695

原创 HTTPS安全协议(springboot实现)

1.背景主要原因是http便利高效的同时也带来了缺点。1.通信使用的是明文(没有加密),内容可能会别人抓包截取获得。2.不验证通信方的身份,因此有可能遭遇伪装。3.无法证明报文的完整性,所以有可能已遭篡改。2.内容服务端证书模式1.开始SSL握手协议,客户端发送SSL的版本号、加密组件(加密算法和秘钥长度)2.服务端接受请求后,筛选出加密组件和SSL的版本号返回信息3.服务端继续响应,发送公共秘钥...

2018-07-11 22:55:33 2547

原创 JSP九大内置对象+其他对象Cookie

requestresponseoutsessionapplicationconfigpageContextpageexception原理:在JSP中request对象被包装成HttpServletRequest接口,客户请求经Servlet容器处理后,由request对象进行封装,作为service()的一个参数传递给JSP页面,response同理。两个对象作为输入输出留被servlet容器封装...

2018-07-09 09:36:05 491

原创 JSP 运行机制与基本语法

1.背景(why study)0.jsp小历史    sun公司早期推出了servlet技术,用于动态页面的html输出。但是,由于直接使用响应流输出的html格式内容,不方便修改和调整html代码。为了解决这一麻烦问题,衍生出了JSP技术,通过嵌入标签的方式写入java代码。总之:使用此技术的目的是为了将数据与页面结合起来,数据不断变化,页面跟着不断变化,简称为动态页面。编译流程为JSP——Se...

2018-07-09 09:00:17 278

springboot+spring security +csrf 的拥有后台管理功能的厨具批发商城网站

文件解压后直接在根目录上找shopping.sql文件导入mysql数据库,创建数据库名为shopping,在此数据库默认导入即可(utf-8),使用idea直接打开项目等待maven导入jar 包即可

2018-04-25

struts 学习笔记(全)

入门级的struts,适合新手入门

2017-08-24

标准标签库jstl (全)

最全的标签库,适合web开发人员使用

2017-08-23

空空如也

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

TA关注的人

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