权限系统的基本概念和架构

2020-12-21
阅读 3 分钟
3.4k
权限系统是我们在系统设计和应用中一种非常常见的系统。一般来说权限系统的功能分为认证和授权两种。认证就非常简单的,验证完用户名密码就算认证成功,而授权里面的套路就很多了,本文将会详细讲解权限系统中的一些基本概念和设计上面要注意的问题,希望大家能够喜欢。

在wildfly中使用SAML协议连接keycloak

2020-12-19
阅读 7 分钟
2k
我们知道SSO的两个常用的协议分别是SAML和OpenID Connect,我们在前一篇文章已经讲过了怎么在wildfly中使用OpenID Connect连接keycloak,今天我们会继续讲解怎么使用SAML协议连接keycloak。

ES6中的Promise和Generator详解

2020-12-17
阅读 8 分钟
1.6k
ES6中除了上篇文章讲过的语法新特性和一些新的API之外,还有两个非常重要的新特性就是Promise和Generator,今天我们将会详细讲解一下这两个新特性。

SSO的通用标准OpenID Connect

2020-12-15
阅读 5 分钟
2.8k
OpenID Connect简称为OIDC,已成为Internet上单点登录和身份管理的通用标准。 它在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份认证标准协议。

安全声明标记语言SAML2.0初探

2020-12-13
阅读 8 分钟
1.9k
SAML的全称是Security Assertion Markup Language, 是由OASIS制定的一套基于XML格式的开放标准,用在身份提供者(IdP)和服务提供者 (SP)之间交换身份验证和授权数据。

使用Tomcat Native提升Tomcat IO效率

2020-12-11
阅读 4 分钟
1.3k
简介IO有很多种,从最开始的Block IO,到nonblocking IO,再到IO多路复用和异步IO,一步一步的将IO的性能提升做到极致。今天我们要介绍一下怎么使用Tomcat Native来提升Tomcat IO的效率。Tomcat的连接方式Tomcat中使用连接器来处理与外部客户端的通信。Connecter主要用来接受外部客户端的请求,并转交给处理引擎处理。在...

密码学系列之:明文攻击和Bletchley Park

2020-12-09
阅读 2 分钟
2.1k
布莱奇利公园(Bletchley Park)是位于米尔顿凯恩斯(Buckinghamshire)的英国乡村房屋和庄园,它是由金融家和政治家赫伯特·莱昂爵士在1883年建造的, 在第二次世界大战期间成为同盟国密码破解的主要中心。

nodejs事件和事件循环简介

2020-12-06
阅读 4 分钟
1.8k
熟悉javascript的朋友应该都使用过事件,比如鼠标的移动,鼠标的点击,键盘的输入等等。我们在javascript中监听这些事件,从而触发相应的处理。

javascript开发后端程序的神器nodejs

2020-12-04
阅读 9 分钟
1.6k
javascript虽然一直都可以做服务端编程语言,但是它更多的是以客户端编程语言来展示在世人面前的。也许javascript自己都忘记了还可以做服务器端编程,直到2009年nodejs的横空出世。

万字长文深度剖析面向对象的javascript

2020-12-02
阅读 11 分钟
942
简介本将会深入讲解面向对象在javascript中的应用,并详细介绍三种对象的生成方式:构造函数,原型链,类。什么是对象虽然说程序员不缺对象,随时随地都可以new一个出来,但是在程序的世界中,对象到底是什么呢?对象是单个实物的抽象。对象是一个容器,封装了属性(property)和方法(method)。而面向对象是相对于面向...

第四代Express框架koa简介

2020-11-30
阅读 5 分钟
1.4k
熟悉Spring MVC的朋友应该都清楚Spring MVC是基于servlet的代码框架,这是最传统的web框架。然后在Spring5中引入了Spring WebFlux,这是基于reactive-netty的异步IO框架。

在Spring data中使用r2dbc

2020-11-28
阅读 5 分钟
3.4k
上篇文章我们讲到了怎么在Spring webFlux中使用r2dbc,今天我们看一下怎么使用spring-data-r2dbc这个Spring data对r2dbc的封装来进行r2dbc操作。

开源认证和访问控制的利器keycloak使用简介

2020-11-26
阅读 7 分钟
2.3k
keycloak是一个开源的进行身份认证和访问控制的软件。是由Red Hat基金会开发的,我们可以使用keycloak方便的向应用程序和安全服务添加身份认证,非常的方便。

OAuth 2.0授权框架详解

2020-11-24
阅读 5 分钟
1.9k
在现代的网站中,我们经常会遇到使用OAuth授权的情况,比如有一个比较小众的网站,需要用户登录,但是直接让用户注册就显得非常麻烦,用户可能因为这个原因而流失,那么该网站可以使用OAuth授权,借助于github或者其他的第三方网站的认证授权,来获取相关的用户信息,从而避免了用户注册的步骤。

深入理解r2dbc-mysql

2020-11-22
阅读 10 分钟
3.6k
mysql应该是我们在日常工作中使用到的一个非常普遍的数据库,虽然mysql现在是oracle公司的,但是它是开源的,市场占有率还是非常高的。

深入理解h2和r2dbc-h2

2020-11-20
阅读 5 分钟
1.6k
简介本文将会介绍R2DBC的H2实现r2dbc-h2的使用方法和要注意的事项。一起来看看吧。H2数据库简介什么是H2数据库呢?H2是一个Java SQL database,它是一个开源的数据库,运行起来非常快。H2流行的原因是它既可以当做一个独立的服务器,也可以以一个嵌套的服务运行,并且支持纯内存形式运行。H2的jar包非常小,只有2M大小,...

响应式关系数据库处理R2DBC

2020-11-18
阅读 7 分钟
3.8k
之前我们提到过,对于底层的数据源来说,MongoDB, Redis, 和 Cassandra 可以直接以reactive的方式支持Spring Data。而其他很多关系型数据库比如Postgres, Microsoft SQL Server, MySQL, H2 和 Google Spanner 则可以通过使用R2DBC 来实现对reactive的支持。

SpringBoot中的响应式web应用

2020-11-16
阅读 5 分钟
2k
在Spring 5中,Spring MVC引入了webFlux的概念,webFlux的底层是基于reactor-netty来的,而reactor-netty又使用了Reactor库。

Reactor详解之:异常处理

2020-11-13
阅读 6 分钟
1.6k
简介不管是在响应式编程还是普通的程序设计中,异常处理都是一个非常重要的方面。今天将会给大家介绍Reactor中异常的处理流程。Reactor的异常一般处理方法先举一个例子,我们创建一个Flux,在这个Flux中,我们产生一个异常,看看是什么情况: {代码...} 我们会得到一个异常ErrorCallbackNotImplemented: {代码...} 那怎...

Reactor中的Thread和Scheduler

2020-11-11
阅读 4 分钟
1.8k
简介今天我们要介绍的是Reactor中的多线程模型和定时器模型,Reactor之前我们已经介绍过了,它实际上是观察者模式的延伸。所以从本质上来说,Reactor是和多线程无关的。你可以把它用在多线程或者不用在多线程。今天将会给大家介绍一下如何在Reactor中使用多线程和定时器模型。Thread多线程先看一下之前举的Flux的创建的例...

Reactor:深入理解reactor core

2020-11-09
阅读 6 分钟
3.3k
这四个方法,需要我们使用lambda表达式来自定义consumer,errorConsumer,completeSonsumer和subscriptionConsumer这四个Consumer。

响应式编程简介之:Reactor

2020-11-06
阅读 6 分钟
3.3k
Reactor是reactivex家族的一个非常重要的成员,Reactor是第四代的reactive library,它是基于Reactive Streams标准基础上开发的,主要用来构建JVM环境下的非阻塞应用程序。

JDK8中的新时间API:Duration Period和ChronoUnit介绍

2020-11-05
阅读 4 分钟
1.8k
简介在JDK8中,引入了三个非常有用的时间相关的API:Duration,Period和ChronoUnit。他们都是用来对时间进行统计的,本文将会详细讲解一下这三个API的使用。DurationDuration主要用来衡量秒级和纳秒级的时间,使用于时间精度要求比较高的情况。先来看看Duration的定义: {代码...} 可以看到,Duration是一个final class...

java安全编码指南之:文件和共享目录的安全性

2020-11-03
阅读 4 分钟
1.8k
java程序是跨平台的,可以运行在windows也可以运行在linux。但是平台不同,平台中的文件权限也是不同的。windows大家经常使用,并且是可视化的权限管理,这里就不多讲了。

java安全编码指南之:序列化Serialization

2020-11-01
阅读 5 分钟
2.3k
简介序列化是java中一个非常常用又会被人忽视的功能,我们将对象写入文件需要序列化,同时,对象如果想要在网络上传输也需要进行序列化。序列化的目的就是保证对象可以正确的传输,那么我们在序列化的过程中需要注意些什么问题呢?一起来看看吧。序列化简介如果一个对象要想实现序列化,只需要实现Serializable接口即可...

web worker的介绍和使用

2020-10-29
阅读 5 分钟
1.7k
什么是web worker呢?从名字上就可以看出,web worker就是在web应用程序中使用的worker。这个worker是独立于web主线程的,在后台运行的线程。

java安全编码指南之:文件IO操作

2020-10-27
阅读 8 分钟
1.9k
不管是在windows还是linux,文件都有权限控制的概念,我们可以设置文件的owner,还有文件的permission,如果文件权限没有控制好的话,恶意用户就有可能对我们的文件进行恶意操作。

万字长文深入理解java中的集合-附PDF下载

2020-10-26
阅读 43 分钟
1.7k
集合是用来存储多个数据的,除了基本类型之外,集合应该是java中最最常用的类型了。java中的集合类型一般都集中在java.util包和java.util.concurrent包中。

java安全编码指南之:线程安全规则

2020-10-23
阅读 4 分钟
1.5k
如果我们在多线程中引入了共享变量,那么我们就需要考虑一下多线程下线程安全的问题了。那么我们在编写代码的过程中,需要注意哪些线程安全的问题呢?

Storage API简介和存储限制与逐出策略

2020-10-21
阅读 5 分钟
2.5k
对于现代浏览器来说,为了提升效率和处理更加复杂的客户端操作,通常都需要将数据存储在客户端,也就是本地磁盘上。那么这个存储有没有什么限制?如果数据存满了之后,如何进行数据的淘汰和置换?