JSON Web Token(JWT)是目前流行的跨域身份验证解决方案。官网:https://jwt.io/本文使用spring boot 2 集成JWT实现api接口验证。一、JWT的数据结构JWT由header(头信息)、payload(有效载荷)和signature(签名)三部分组成的,用“.”连接起来的字符串。JWT的计算逻辑如下:(1)signature = HMACSHA256(bas
转载 2023-07-19 21:29:45
262阅读
本文将通过AOP的方式实现一个相对更加简易灵活的API安全认证服务。我们先看实现,然后介绍和分析AOP基本原理和常用术语。一、Authorized实现1、定义注解package com.power.demo.common; import java.lang.annotation.*; /* * 安全认证 * */ @Target({ElementType.TYPE, ElementType
转载 2024-05-29 01:07:00
97阅读
RESTful 是一种规范,符合 RESTful 的 Api 就是 RESTful Api。简单的说就是可联网设备利用 HTTP 协议通过 GET、POST、DELETE、PUT、PATCH 来操作具有 URI 标识的服务器资源,返回统一格式的资源信息,包括 JSON、XML、CSV、ProtoBuf、其他格式。 RESTful 的核心思想是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。
转载 2024-02-28 21:15:47
53阅读
先看依赖 <!--Redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!
转载 2024-05-22 11:51:14
71阅读
        写在前面的话,由于本人是一名移动端开发者,并未专业服务端开发人员,若有地方讲解不到位,或用词不当,还望广大好友谅解,写这个api接口就是纯属为了玩玩,看着后台的兄弟们挺有意思的,所以自己也过来玩一下,对自己以后也有帮助,下面写的接口可用于前端调用,或移动端调用,PostMan接口测试工具全部通过.      &n
转载 2023-10-11 08:00:38
162阅读
之前写过一篇文章《简单API的实现》,这篇文章说明了通过api方式把数据传递给服务端处理,但这过程中没有认证功能,无论谁发任何内容,都一并接收,这样明显存在不安全性,这篇文章在原来的基础上,添加了接口认证功能,实现如下:接口认证方式:方式一:客户端:通过定义密钥将密钥加密发送给服务端服务端:服务端定义相同的密钥通过相同的加密算法,得到一个值把服务端加密后的值和客户端发送过来的加密的密钥进行对比缺点
原创 2016-10-30 10:48:26
1643阅读
1点赞
这日,刚撸完2行代码,正准备掏出手机摸鱼放松放松,只见老大朝我走过来,并露出一个”善意“的微笑,兴伟呀,xx项目有于安全问题,需要对接口整体进行加密处理,你这方面比较有经验,就给你安排上了哈,看这周内提测行不...,额,摸摸头上飘摇着而稀疏的长发,感觉我爱了。和产品、前端同学对外需求后,梳理了相关技术方案, 主要的需求点如下:尽量少改动,不影响之前的业务逻辑;考虑到时间紧迫性,可采用对称性加密方式
转载 2024-05-31 07:52:49
180阅读
一、认证流程上图是 Spring Security 认证流程的一部分,下面的讲解以上图为依据。(1) 用户发起表单登录请求后,首先进入 UsernamePasswordAuthenticationFilter: 在 UsernamePasswordAuthenticationFilter中根据用户输入的用户名、密码构建了 UsernamePasswordAuthenticationToken,并将
传统 AOP对于这种需求,首先想到的当然是 Spring-boot 提供的 AOP 接口,只需要在 Controller 方法前添加切点,然后再对切点进行处理即可。实现其使用步骤如下:使用 @Aspect 声明一下切面类 WhitelistAspect;在切面类内添加一个切点 whitelistPointcut(),为了实现此切点灵活可装配的能力,这里不使用 execution 全部拦截,而是添加
1. RESTful简述    REST是一种设计风格,是一组约束条件及原则,而遵循REST风格的架构就称为RESTful架构,资源是RESTful的核心,一个好的RESTful架构,通过URL就能很清晰的了解其相应的操作和需求是什么,即1. 通过URL定位资源,如:com.mobin/api/v1/shenzhen/subways //获取深圳地铁列表com.mob
转载 2024-04-18 14:44:19
143阅读
JWT是一种用户双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT(Json Web Token)作为一个开放的标准(RFC 7519),定义了一种简洁的、自包含的方法用于通信双方之间以Json对象的形式进行安全性信息传递,传递时有数字签名所以信息时安全的,JWT使用RSA公钥密钥的形式进行签名。JWT组成JWT格式的输出是以.分隔的三段Base64编码,与SAML等基于XML的标准
 了解spring容器的IOC(依赖注入)的同学应该知道,我们的所有的bean对于spring容器是无意识的,啥叫无意识呢,就是你完全可以把spring容器替换成其他的容器而不需要改变你的代码,并且bean之间也是没有耦合的,既然这样,那问题就来,假如现在我们需要对spring有意识,换句话说就是现在我们的业务可能需要用到spring底层的一些功能那么我们该怎么实现?这个其实优秀的spr
转载 2024-03-01 22:29:09
54阅读
文章目录1 接口架构风格 —RESTful1.1 REST1.2 在页面中或者ajax中,支持put,delete请求2 Spring Boot 集成 Redis2.1 redis起步依赖2.2 对比 StringRedisTemplate 和 RedisTemplate3 SpringBoot集成Dubbo3.1 看 SpringBoot继承Dubbo的文档3.2 公共项目7.3 提供者7.4
在Kubernetes (K8S) 中搭建一个Spring Boot API接口是一个常见的需求,这里我将通过以下流程来教你如何实现: 步骤 | 描述 ---|--- 1 | 创建一个Spring Boot项目 2 | 构建Docker镜像 3 | 部署到Kubernetes集群 ### 步骤1:创建一个Spring Boot项目 首先,你需要创建一个Spring Boot项目。你可以使用Sp
原创 2024-05-24 10:46:34
92阅读
Swagger介绍1.什么是Swagger作为后端程序开发,我们多多少少写过几个后台接口项目,不管是编写手机端接口,还是目前比较火热的前后端分离项目,前端与后端都是由不同的工程师进行开发,那么这之间的沟通交流通过接口文档进行连接。但往往伴随很多问题,后端程序员认为编写接口文档及维护太花费时间精力,前端的认为接口文档变动更新不及时,导致程序之间相互调用出行问题。那么能简化接口文档的编写直接自动生成吗
转载 2024-05-30 10:35:07
53阅读
情景说明        鉴权,有很多方案,如:SpringSecurity、Shiro、拦截器、过滤器等等。如果只是对一些URL进行认证鉴权的话,我们完 全没必要引入SpringSecurity或Shiro等框架,使用拦截器或过滤器就足以实现需求。        本文介绍如何使用过滤器Filter实现URL签名认证鉴权
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开
转载 2024-10-21 18:21:52
9阅读
【搜索系列】Solr 身份认证与授权更新异常解决方案之前介绍 solr 的教程中,solr 没有开启权限校验,所有的操作都是无需鉴权;当时提到,如果 solr 开启了权限校验,改一下 solr 的 host,带上用户名/密码即可,然而真实情况却并不太一样,查询 ok,涉及到修改的操作,则会抛异常本文将带你了解一下,这到底是个什么鬼畜现象I. Solr 配置用户登录1. 安装之前的 solr 系列教
文章目录一、 springboot实现普通登录1 添加依赖2 编写配置文件3 新建实体类和mapper4 编写业务层代码5 编写控制器6 编写启动类7 编写登录页面和主页面二、 springboot整合shiro实现登录认证和凭证匹配1 添加依赖2 自定义Realm3 编写配置4 userService新增单元方法:使用shiro认证5 凭证匹配器5.1 修改ShiroConfig5.2 修改M
转载 2024-02-21 19:47:03
58阅读
本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third我们在日常开发过程中,有不少场景会对接第三方的API,例如第三方账号登录,第三方服务等等。第三方服务会提供API或者SDK,我依稀记得早些年Maven还没那么广泛使用,通常要对接第三方服务的时候会去下载第三方服务的SDK
转载 2024-05-22 00:13:31
96阅读
  • 1
  • 2
  • 3
  • 4
  • 5