浅析Saas
浅析Saas什么是SAAS平台? SaaS是随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。
软件运营服务是(Software as a Service,简称SaaS)让用户能够通过互联网连接和使用基于云的应用程序。常见示例有电子邮件、日历和办公工具。 它不需要用户将软件产品安装在自己的电脑或服务器上。
SaaS提供完整的软件解决方案,用户可以从云服务提供商处以即用即付方式进行购买。为组织租用应用,组织用户即可通过互联网连接到该应用(通常使用 Web浏览器)。所有基础结构、中间件、应用软件和应用数据都位于服务提供商的数据中心内。服务提供商负责管理硬件和软件,并根据适当的服务协议确保应用和数据的可用性和安全性。SaaS让组织能够通过最低前期成本的应用快速建成投产。 因为它不需要用户将软件产品安装在自己的电脑或服务器上。而是按某种服务水平协议(SLA)直接通过网络向专门的提供商获取自己所需要的、带有相应软件功能的服务。
Saas平台的特点可以使用先进的应用程序。 要向用户提供 SaaS 应用,无需购买、安装、更新或维护任何硬件、中间件或软件。S ...
浅析JWT
浅析JWT随着移动互联网的兴起,传统基于session/cookie的web网站认证方式转变为了基于OAuth2等开放授权协议的单点登录模式(SSO),相应的基于服务器session+浏览器cookie的Auth手段也发生了转变,Json Web Token的出现成为了当前的热门的Token Auth机制。
Cookie和Session相关概念请见博文:Cookie-Session
Json Web Token(JWT)Json web token (JWT) 是目前最流行的跨域认证解决方案,JWT是一个开放标准 (RFC 7519),它定义了一种紧凑且独立的方式,可以在客户端与服务器之间作为JSON对象安全地传输信息。
官方定义:JSON Web Token (JWT) is a compact URL-safe means of representing claims to be transferred between two parties
现在网上大多数介绍JWT的文章实际介绍的都是JWS(JSON Web Signature),这也往往导致了大家对于JWT的误解, ...
Cookie & Session
Cookie & SessionCookie和Session都是用来在浏览器中跟踪用户身份的会话方式,因为B to S的请求访问都是HTTP请求,而HTTP请求是无状态的,服务器端无法辨识请求是来自哪个客户端。
CookieCookie是一段保存在客户端的字符串,能够用来将用户活动过程中的状态信息保存到客户端,服务器可以获得该信息以便进行处理,跟踪用户的状态,一般一个 cookie存储的数据不超过3K。
Cookie的工作原理:
浏览器第一次发送请求到浏览器端;
服务器端创建一个字符串Cookie,该Cookie中包含用户的信息,然后将该Cookie返回给浏览器端;
浏览器端再次访问服务器端时会在请求头中携带从服务器端获取的Cookie字符串;
服务器端通过Cookie中携带的数据便可以区分不同的用户;
访问百度网站中浏览器中的Cookie示例:
1Cookie:BIDUPSID=7CA7EB951E290B33CA40110D9ED9C0D1; PSTM=1587792871; BD_UPN=123253;__yjs_duid=1_9d2ad8f9e190a6d780bbc ...
「Sentinel - 1」-- 初识Sentinel & Sentinel-Dashboard
初识Sentinel & Sentinle-DashboardSentinel 基本概念认识Sentinel
官网地址:https://sentinelguard.io/zh-cn/index.html
Sentinel 具有以下特征:
丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
资源资源是 Senti ...
防盗链
防盗链防盗链的定义防盗链其实就是在网络服务器端进行个性化编程,通过URL过滤技术实现对目标资源控制访问。
比如:
file.maple.com/test.jpg这个图片地址,如果没有装防盗链,那么任意用户都能通过该URL轻而易举的在他的网站上引用这个图片。如果对file.maple.com 这个地址进行服务器端编程,如给URL拼接参数,得到file.maple.com/test.jpg?authcode=xxx&ip=127.0.0.1,自动拼接了ip参数,然后在对URL路由时针对IP参数进行个性化判断,就能实现只有127.0.0.1来访问这个链接,而其它的IP地址则无法访问该链接。
防盗链的产生一般我们在浏览网页时,一个完整的页面并不是客户端通过一次HTTP请求就将全部资源从服务器上拉取下来的,而是会分成很多次HTTP请求。如果客户端所浏览的页面带有图片或其它功能性信息,那么客户端的第一个HTTP请求就是想资源服务器端请求这个页面的文本信息,然后通过客户端的浏览器对服务器返回的数据进行解析,如果发现其中包含图片地址URL,那么客户端的浏览器会自动针对该图片URL再一次发送HT ...
OAuth 2.0 协议
OAuth2.0协议OAuth2.0 为何物OAuth 简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在资源所有者同意并向客户端颁发令牌后,客户端携带令牌就可以访问资源所有者的资源。
OAuth2.0 是OAuth 协议的一个版本,有2.0版本那就有1.0版本,有意思的是OAuth2.0 却不向下兼容OAuth1.0 ,相当于废弃了1.0版本。
举个小栗子解释一下什么是 OAuth 授权?
订了个外卖,外卖小哥30秒火速到达了我家楼下,奈何有门禁进不来,可以输入密码进入,但出于安全考虑我并不想告诉他密码。此时外卖小哥看到门禁有一个高级按钮“一键获取授权”,只要我这边同意,他会获取到一个有效期 2小时的令牌(token)正常出入。
令牌(token)和 密码 的作用虽然相似都可以进入系统,但还有点不同。token 拥有权限范围,有时效性的,到期自动失效,而且修改无效。
OAuth2.0中有四个重要角色:
角色
描述
客户端
本身不存储资源,需要通过资源拥有者的授权去请求资源服务器的资源,常见的就是用户常用的各种客户端,比如:And ...
位枚举
位枚举也称为 二进制枚举。
什么是位枚举位枚举也是一个枚举类,只不过其是利用二级制位运算来实现与枚举项的比较、包含、不包含等运算,其主要思想就是利用高性能的位运算操作来替换传统的大小比较,集合是否包含等方法,以此来进一步提高业务代码的性能。
常见的使用场景:
标签字段
类型字段
等…
位枚举并不复杂。下面以标签字段的应用场景分别使用传统的枚举操作和位枚举进行对比说明,加深对位枚举的理解和应用。
传统枚举枚举类定义
123456789101112131415161718192021222324252627282930313233343536373839404142/** * 标签枚举 * * @author Maple * @date 2023/4/28 */public enum OrderTagEnum { NORMAL_ORDER(1, "普通订单"), SECKILL_ORDER(2, "秒杀订单"), THIRD_SERVICE_ORDER(3, "三方服务订单"), ; p ...