Spring Security-3-自定义登录页 发表于 2019-09-10 | 分类于 Spring Security 述上文中实现了用户自定义的登录认证,但是用的登录页面是默认的登录页,在实际开发中,当然不可能用这种登录页,所以还是需要我们自己去搞一个登录的页面的, 还有一个问题就是,现在大部分开发都是前后端分离的, 如果是针对App的接口的话,我们直接返回一个html页面是不可以的,应该是返回一个json串给前端 ... 阅读全文 »
Spring Security-2-自定义用户登录 发表于 2019-09-10 | 分类于 Spring Security 述上一个案例中,我们简单的实现了用户的登录,用的是Spring Security的默认的用户名和密码, 实际情况中,我们肯定是要从数据库里面去获取用户信息,然后接下来就看一下具体的要如何实现 大致流程登录就是用户名,密码还有一些其他的校验, 上文中对认证源码有了一些大致的了解,我们自定义登录主 ... 阅读全文 »
Spring Security-1-基本原理 发表于 2019-09-10 | 分类于 Spring Security 述前文中,简单的使用了一下Spring Security,做了基本的用户名密码的认证,下面来大致的看一下,登录这个过程,Spring Security做了哪些事情 基本原理Spring Security的认证授权等处理是经过一系列的filter实现的,大致流程图如下: 一个请求进 ... 阅读全文 »
Spring Security-0-简介及简单使用 发表于 2019-09-10 | 分类于 Spring Security 简介Spring Security是一个强大的和高度可定制的身份验证和访问控制框架 Spring Security着重于为Java应用程序提供身份验证和授权。身份验证是为用户建立一个他所声明的主体的过程(主体一般式指用户,设备或可以在你系统中执行动作的其他系统)。授权指的是一个用户能否在你的应 ... 阅读全文 »
Spring Boot-全局异常处理及自定义异常 发表于 2019-08-03 | 分类于 Spring Boot 述在日常开发过程中,我们使用Spring Boot,如果程序中抛出了一个异常,那我们在网页中看到的内容可能如下:返回的是一个默认的错误页面,那如果我们是用的postMan等工具去请求接口呢, 看到的信息会是一个json字符串,如下: 那他是怎么实现不同的环境返回不同的内容呢? 下面来看一下Spr ... 阅读全文 »
Spring-自定义注解校验字段格式 发表于 2019-08-03 | 分类于 Spring 述在我们日常编码中,服务端需要校验很多字段的格式,比如是不是为空,字段长度等等各种验证,这些验证如果写到我们的代码逻辑中的话,每次开始都需要做大量的校验,而且还有可能在不同的方法中校验的逻辑相同,那就可能会复制大量相同的代码,看着很烦 java给我们提供了很多验证的注解,比如下面这个model ... 阅读全文 »
Netty-14-心跳与空闲检测 发表于 2019-07-02 | 分类于 Netty 述连接假死现象: 在某一端(服务端或者客户端)看来底层TCP连接已经断开,但是应用程序并没有捕获到,因此认为这条连接仍然是存在的,从TCP层面来说,只有收到四次握手数据包或者一个RST数据包,连接的状态表示已断开. 引发的问题: 对于服务端来说,因为每条连接都耗费CPU和内存资源,大量假死的连 ... 阅读全文 »
Netty-13-性能优化处理 发表于 2019-07-02 | 分类于 Netty 述我们在实现完一系列的功能之后,会有很多的handler通过pipeline加到channel中去, 下面看一下如何去优化这些handler 优化第一步:共享handler首先来看下服务端的代码: 指令相关的handler很多,netty在这里的逻辑是:每次有新连接到来的时候,都会调用Cha ... 阅读全文 »
Netty-12-channelHandler热拔插 发表于 2019-07-02 | 分类于 Netty 述前面的代码中,我们的客户端登录之后,存了一个标记,表示当前的channel是已登录的状态,然后每次发现系的时候都需要去验证一次用户是否登录,代码如下: 这里我们也可以在服务端加一个handler去验证用户是否登录 登录验证handler新建一个handler,代码如下:12345678 ... 阅读全文 »
Netty-11-channelHandler的生命周期 发表于 2019-07-02 | 分类于 Netty 述我们之前在使用channelHanndler的时候,只重写了channelRead()和channelActive()这两个方法,它里面还有一些其他的方法, 这些方法的回调顺序就是channelHandler的生命周期 案例新建一个handler,名称是LifeCyCleTestHandle ... 阅读全文 »