公司的系统比较老了,再加上成本限制,信息安全方面做的不够好,菜单的权限分配是靠判断是否在首页展示给用户来决定的,如果有人能够拿到未被展示的菜单中执行相关业务逻辑的url(比如修改密码的url:/user/changePassword),即使没有权限也能进入。 由于数据库中只存储了用户与角色的关联、角色与菜单项的关联信息,并没有存储用户或角色与具体业务逻辑url之间的关联信息,因此我想到了利用拦截器
## AKSKJava实现流程 ### 1. 什么是AKSK AKSK是指使用Access Key和Secret Key来进行身份验证的一种方式。Access Key是用于标识用户的身份,Secret Key是用于对请求进行签名的密钥。在进行API调用时,需要将Access Key和请求参数进行签名,然后发送给服务端进行验证。 ### 2. 实现步骤 下面是实现AKSK的具
原创 2023-11-03 05:54:51
1486阅读
# Python AKSK 权实现指导 在很多网络应用中,保障API接口的安全性是至关重要的,尤其是在云服务中,通常会使用AKSK(Access Key ID 和 Secret Access Key)进行身份验证。本文将详细介绍如何在Python中实现AKSK。以下是整个流程的基本步骤: ## AKSK 流程 ```mermaid flowchart TD A[获取Acce
原创 10月前
365阅读
背景在B站看到一个up的详细解说cookie、session、token觉得讲的挺透彻的,于是就趁热记录一下。一、是什么?就是鉴定权限,最常见的就是鉴定该用户是否为登录状态。最开始做接口测试的时候,找了一个接口,把协议、ip、URL填好以后就以为万事大吉。一发起请求,查看响应就说登录信息错误。 为什么呢? 这就是因为没有,服务器根本就不认识你,所以就不理你,请求的数据就不会发送给你了。
流程        点击登录按钮,后端验证账号密码是否通过,如果通过则生成token,把token发送给前端,前端保存到cookie(前后端分离是不能使用保存session,因为每次发送ajax请求响应后都会断开服务器,就会导致session生命周期就销毁掉,然后再发送请求时再重新连接服务器,session已经不存在了
转载 2023-08-20 14:51:48
634阅读
1.Security 基本配置加入如下依赖<!--Security--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> &lt
转载 2024-02-08 05:52:11
1037阅读
移动产业的兴起,给用户和开发者都带来了更多选择。目前,移动应用程序已经逐渐成为各类业务的重要组成部分之一。要让应用程序良好运行,必须选用正确的手机平台。目前领先的移动技术平台有iOS、Windows Phone、Android和黑莓。在不同平台上让不同应用都能提供丰富的应用体验,这对开发者提出了更高的要求。跨平台移动应用开发工具正好满足了开发 者不断增长的跨平台开发需求,它的优点是,开发者只要编写
执行流程说明请看上一篇。本篇只涉及代码编写1、新建util。放入以下类BaseRedisServiceimport java.util.concurrent.TimeUnit; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.Stri
转载 2024-04-04 10:17:15
151阅读
作者:赐我白日梦无状态登录原理先提一下啥是有状态登录单台tomcat的情况下,编码的流程如下:前端提交表单里用户的输入的账号密码后台接受,查数据库,在数据库中找到用户的信息后,把用户的信息存放到session里面,返回给用户cookie以后用户的请求都会自动携带着cookie去访问后台,后台根据用户的cookie辨识用户的身份但是有缺点如果有千千万的用户都往session里面存放信息,sessio
公司的业务系统比较多,还有第三方的系统,为了保障后端系统稳定以及业务的安全,今天研究了一下APINTO网关的服务治理——访问策略。要满足想要的业务场景效果,还涉及到APINTO网关的应用。官方介绍了应用管理:提供了对API的身份认证和访问控制功能,应用即调用API的调用方系统。当用户调用API的请求通过了某个应用的,可以将该应用认为是API的调用方,应用的相关信息也会被赋予该请求。此外,Api
转载 2月前
393阅读
GateWay作为网关路由是挡在了我们的系统最前边,进行动态路由配置和转发。那么我们就可以在网关层进行网关。https://cloud.spring.io/spring-cloud-gateway/2.2.x/reference/html/Gateway过滤器的介绍之前说过GateWay的组件中有Filter(过滤器)这一功能,就是web开发的三大组件(Servlet、Filter、Liste
转载 2023-12-20 22:04:42
99阅读
1:使用开源的jar包API-Signed: 一个轻松实现API签名校验的库。 (gitee.com)本地下载源码:E:\JavaCode\java-API签名校验2:该jar 包操作说明本仓库包含以下内容:签名校验的源码基于Spring boot的web示例由于要开放接口供第三方调用, 采用签名校验的方式以保证安全, 于是有了这个项目。 该项目使用面向切面的方式对签名进行校验, 接口本身只需要关
转载 2023-09-06 13:16:10
34阅读
文章目录一、主要内容二、SpringSecurity加密解密1.pom依赖2.SpringSecurity配置类3.Controller4.Service5.Repository6.Model三、JWT1.JWT的组成头部载荷签名登录生成token以后每次访问的认证2.Java的JJWT认证实现测试类代码封装JwtUtil工具类3.修改登陆逻辑4.操作ControllerServiceServ
自定义过滤器,重写isAccessAllowed自定义realm,重写doGetAuthorizationInfo我需要根据链接参数不同进行授权,就是通过这种方法的。public class CustomRealm extends AuthorizingRealm 下面是授权代码 /** * 获取权限 */ @Override protected AuthorizationInfo doGetAu
转载 2023-08-29 12:57:45
339阅读
1. Sa-Token 介绍Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关 等一系列权限相关问题。功能结构图2. 登录认证对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验:如果校验通过,则:正常返回数据。如果校验未通过,则:抛出异常,告知其需要先进行
转载 2023-08-21 15:50:21
1214阅读
1. Sa-Token 介绍Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关 等一系列权限相关问题。功能结构图 2. 登录认证对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验:如果校验通过,则:正常返回数据。如果校验未通过,则:抛出异常,告知其需要先
转载 2023-12-18 22:22:48
209阅读
我们在开发中需要用到对接口的登录,首先后台会根据几个参数组成字符串+secretKey,用AES(ECB)加密算法来生成秘钥ticket,第三方访问的时候,带在提供的系统认证地址后面(列如http(s)://test.com?ticket=秘钥)参数:这些参数包括时间戳,姓名,手机号,8位随机数,这些都是基本的,有的还需要根据实际业务场景添加一些信息,比如人员所在地,所在行政区划,年龄,职位信
Java下常用的安全框架主要有Spring Security和shiro,都可提供非常强大的功能,但学习成本较高。在微服务下多多少少都会对服务有一定的入侵性。 为了降低依赖,减少入侵,让功能相对应用服务透明,我们采用网关拦截资源请求的方式进行。一、整体架构 用户模块位于API GateWay服务中,所有的API资源请求都需要从此通过。做身份认证,通过则缓存用户权限数据,
训练大纲(第123天)大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。第243次(Hystrix)学习主题:Hystrix学习目标:对应视频: http://www.itbaizhan.cn/course/id/85.html对应文档:无对应作业采用RebbitMQ收集数据监控-设计原理与服务搭建1.使用RebbitMQ
参数化2在testng.xml中增加parameter可以赋值给DataProvider<parameter name="sheetIndex" value="0"></parameter>测试代码:public class RegisterCase { public int sheetIndex; @BeforeClass @Parameters
转载 2023-09-03 00:57:38
230阅读
  • 1
  • 2
  • 3
  • 4
  • 5