单点登录(SSO)的设计与实现

一、前言1、SSO说明SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。https://baike.baidu.com/item/SSO/3451380 例如访问在网易账号中心(http://reg.163.com/ )登录之后访问以下站点都是登录状态 网易直播 http://v.163.com网易博客 http:...

分布式ID生成器解决方案SnowflakeX

一、前言什么情况下我们需要ID生成器? 数据库水平拆分的情况下,主键由于需要作为业务标识使用,需要唯一。业务编号需要暴露给用户,但是又不想被用户猜到需要被隐藏的业务编号业务编号需要体现业务信息,比如订单分类订单渠道等等 本次解决方案主要应对的场景是? 数据库水平拆分的情况下,主键由于需要作为业务标识使用,需要唯一。 本次的ID生成器设计目标? 全局唯一每秒可生成100W+趋于递增(对索引友好)高可...

Session的工作原理和使用经验

一、前言什么是Session?Session字面含义就是会话。由于HTTP是无状态协议,为了保持浏览器与服务器之间的联系,才有了Session。Session就是用于在服务器端保存用户状态的协议。通常用来保存用户的登录状态。https://baike.baidu.com/item/session/479100 二、工作原理1、Session是如何实现的?Session内容保存在服务器端的,通常是保...

Cookie的特点和使用经验/建议总结

一、前言什么是Cookie?Cookie就是以Key,Value的形式存储在浏览器端的数据。https://baike.baidu.com/item/cookie/1119 二、工作原理与应用场景1、工作原理在Request的时候,浏览器将Cookie信息放在HTTP-Request Headers中。在Response的时候,浏览器保存HTTP-Response Headers信息中的Cooki...

CentOS7下安装.NET Core SDK 2.0

一、RPM方式1、准备工作 导入rpm源 sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages...

博客从ASP.NET 迁移到了ASP.NET Core 2.0

一、为什么要迁移在迁移之前,本站点是基于 ASP.NET MVC 4构建且部署在Linux+Mono环境下,Web服务器使用的是Jexus,在 .NET Core出来之前,这是 .NET项目跑在Linux服务器上的通用办法了。就本站点运行的3个月来说一直都很稳定。这要感谢Mono、以及Jexus。 在 .NET Core 2.0出来之前,ken.io 是没什么欲望将博客迁移到 .NET Core的...

Thymeleaf使用技巧:使用片段(fragment)实现母版页(Layout)功能

一、前言 为什么要使用模板页(Layout) 网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。这样每个页面只用关注本页面要完成的功能/内容即可。提高了开发效率,也降低了公共部分的维护成本。 如果你还未使用过Thymeleaf,可以先阅读:使用Spring Boot+Thymeleaf模板引擎开发Web应用 二、实现方式1、Thymeleaf母...

Freemarker使用技巧:使用自定义宏(Macro)实现母板页(Layout)功能

一、前言 为什么要使用模板页(Layout) 网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。这样每个页面只用关注本页面要完成的功能/内容即可。提高了开发效率,也降低了公共部分的维护成本。 如果你还未使用过Freemarker,可以先阅读:使用Spring Boot+Freemarker模板引擎开发Web应用 二、实现方式1、Freemark...

Spring Boot入门教程3-2、使用Spring Boot+Thymeleaf模板引擎开发Web应用

一、前言为什么要使用模板引擎?在最早的Java Web应用中,最为广泛使用的就是JSP,但是JSP已经是陈旧的技术了,ken.io觉得JSP主要有三个问题:1、视图代码不能与Java代码完全分离,如果再JSP页面写Java代码维护成本高2、无法实现页面继承工程,实现模板页的方式蹩脚3、由于一些已知问题,Spring Boot官方不建议,比如:Spring Boot+JSP打成jar包会有问题 所以...

Spring Boot入门教程3-1、使用Spring Boot+Freemarker模板引擎开发Web应用

一、前言为什么要使用模板引擎?在最早的Java Web应用中,最为广泛使用的就是JSP,但是JSP已经是陈旧的技术了,ken.io觉得JSP主要有三个问题:1、视图代码不能与Java代码完全分离,如果再JSP页面写Java代码维护成本高2、无法实现页面继承工程,实现模板页的方式蹩脚3、由于一些已知问题,Spring Boot官方不建议,比如:Spring Boot+JSP打成jar包会有问题 所以...