本页目录 Sa-Token介绍 相关链接 介入权限框架 sa-token Maven依赖 Sa-Token介绍 Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录 相关链接 官网:https://sa-token.cc/ Github地址:https://github.com/dromara/sa-token 介入权限框架 sa-token Maven依赖 -- Sa-Token 权限认证,在线文档:https://sa-token.cc --> <dependency> <groupId>cn.dev33</groupId
——高尔基 介绍一个轻量级JWT权限认证框架Sa-Token 官方文档:https://sa-token.dev33.cn/doc/index.html#/ 今天直接试着用了下,感觉还不错,功能比之前的
StpLogic 我们这里用简单模式,更加安全且支持更多功能 // jwt 模式, @Bean public StpLogic getStpLogicJwt() { // Sa-Token
——穆尼尔·纳素夫 1:注册Sa-Token的注解拦截器,打开注解式鉴权功能 图片 @Configuration:用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法 程序有一定的魔法值是可以的)但是我看着烦 2:全局异常拦截(拦截项目中的所有异常) 图片 配置好拦截器咱们就可以使用@SaCheckLogin注解完成token拦截了 图片 期间也没有遇到什么坑 也不记录了 因为sa-token
——爱默生 今天把Sa-Token中的用户状态进行持久层扩展 使用了jdk默认序列化方式后报错,清除缓存后又换成了jackson序列化方式 结果还是报错SerializationException java.util.List; import java.util.Optional; import java.util.Set; import java.util.concurrent.TimeUnit; /** * Sa-Token
——莎士比亚《亨利四世上篇》 1:首先引入sa-token依赖 <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-spring-boot-starter 有什么疑惑和问题可以去官方文档写的非常详细:https://sa-token.dev33.cn/doc/index.html#/ 号称:手把手教你敲代码 狗头加持 2:从application.yml文件中配置sa-token server: # 端口 port: 8081 # Sa-Token配置 sa-token: # token名称 (同时也是cookie名称) token-name ResultCode.INTERNAL_SERVER_ERROR, "账号或密码错误 请您检查好账号密码重新输入")); 图片 获取当前用户IP 图片 4:效果 图片 输入错误五次之后 图片 输入正确账号密码之后返回用户信息以及token 图片 明天在写如何使用sa-token
Sa-Token整合OAuth2 开源地址 https://gitee.com/ZVerify/zverify-blog 为什么要整合OAuth2 有些时候我们自己写的网站注册过于繁琐需要每个用户花费时间去注册 如果可以从数据库中查询数据出来,我们就更新一下登录,如果没有查询出来就进行用户信息初始化进行保存数据库然后更新登录就好啦,这两个可以根据自己的需求和业务去改,我这里用了sa-token,就简单把代码放这了
今天分享的是 Spring Boot 整合 Sa-Token 实现登录认证。
使用 Sa-Token 可以大大简化我们的权限认证开发工作,提高开发效率,因此它受到了越来越多的 Java 开发者的喜爱。2. SpringBoot 如何使用 Sa-Token接下来我们将介绍如何在 SpringBoot 中使用 Sa-Token,实现权限认证功能。2.1. 配置文件在添加完依赖之后,我们需要在配置文件中进行相关的配置,主要包括数据库连接信息和 Sa-Token 的相关配置。 编写安全配置类接下来,我们需要编写一个安全配置类,用于配置 Sa-Token 的 Servlet 拦截器和 Filter 拦截器,以保证所有的请求都会被 Sa-Token 拦截并进行身份认证和权限控制。 因此,我们应该积极学习和使用 Sa-Token,将其应用到我们的项目中,以更好地保障系统的安全和稳定运行。
然而,Sa-Token 作为一个轻量级框架,能在短时间内于中文社区迅速崛起,其核心吸引力绝非单纯的功能堆砌。 Sa-Token 的成功,本质上是一场设计哲学的胜利。 Sa-Token 最具辨识度的设计,无疑是其统一的工具类入口 StpUtil。 让开发者一眼看懂,随时能接管,这就是 Sa-Token 对“透明”的定义。 可替换与插件化 极简不等于封闭。 Sa-Token 的哲学是,默认提供好用的实现,但任何核心部件都可以被替换。 Sa-Token 的设计哲学正是为了解决这一痛点。 它成功地将权限认证重新拉回到了“基础设施”的层面。 用最少的概念解决最多的问题,用最透明的方式把控制权交给开发者,便是 Sa-Token 的设计哲学。
有些小伙伴在工作中可能遇到过这样的场景:新项目启动会上,架构师坚持要用Spring Security,团队里的老将却说Shiro更简单实用,而年轻的同事则力荐Sa-Token这个后起之秀。 4 Sa-Token:国产新星的“后起之秀” 4.1 Sa-Token是什么? Sa-Token是一个轻量级Java权限认证框架,由国内开发者开发。 在Spring Security和Shiro之外,Sa-Token提供了一种新的选择。 4.2 核心特性:简单而强大 Sa-Token的核心设计哲学可以概括为:“简单、强大、灵活”。 ) 理由:需要快速上线验证想法,团队规模小,追求开发效率 实施要点: 利用Sa-Token的零配置特性快速搭建 使用注解方式实现基本权限控制 集成Redis实现分布式会话 利用Sa-Token的踢人功能实现基础管理 Sa-Token是快速开发的利器,API简洁但生态相对年轻,适合追求开发效率的场景。 实际上,没有完美的框架,只有合适的框架。
1、Sa-token的文档还是很清晰的,直接按照文档来就可以了,首先在Springboot项目中添加依赖<! -- Sa-Token 权限认证,在线文档:https://sa-token.cc --><dependency> <groupId>cn.dev33</groupId> <artifactId >sa-token-spring-boot-starter</artifactId> <version>1.34.0</version></dependency>2、然后配置sa-token相关的参数 :sa-token: # token名称 (同时也是cookie名称) token-name: token # token有效期,单位s 默认30天, -1代表永不过期 timeout -- Sa-Token 整合 Redis (使用 jackson 序列化方式) --><dependency> <groupId>cn.dev33</groupId> <artifactId
本文详细介绍了Sa-Token在Java项目中的使用方法,包括Sa-Token的基本概念、与其他权限框架的比较、基本语法和高级用法,并通过实例讲解了如何在项目中集成和使用Sa-Token。 最后,总结了Sa-Token的优缺点及其在实际开发中的应用场景,为开发者提供全面的指导。 一、Sa-Token介绍 1. Sa-Token原理解析 Sa-Token的核心原理是通过Token机制实现用户的身份认证和权限校验。 Sa-Token与其他权限框架比较 Sa-Token与其他常见权限框架在学习成本、集成难度上有显著优势: 特性 Sa-Token Shiro 配置Sa-Token application.yml # Sa-Token配置,可根据需要进行调整 sa-token: # token有效期,单位秒,默认30天 timeout: 2592000
Sa-Token 简介 Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 sa-token-spring-boot-starter</artifactId> <version>1.34.0</version> </dependency> application.yml 配置 # Sa-Token 配置 sa-token: # token名称 (同时也是cookie名称) token-name: token # token有效期,单位s 默认30天, -1代表永不过期 timeout SaTokenConfigure implements WebMvcConfigurer { /** * @MonthName:addInterceptors * @Description: 注册 Sa-Token **/ @Override public void addInterceptors(InterceptorRegistry registry) { // 注册 Sa-Token
前言 博主在使用 Sa-Token 框架的过程中,越用越感叹框架设计的精妙。于是,最近在学习如何给 Sa-Token 贡献自定义框架。为 Sa-Token 的开源尽一份微不足道的力量。 我将分三篇文章从 0 到 1 讲解如何为 Sa-Token 自定义一个插件,这一集将是前沿知识 —— SPI 那为什么要学 SPI 呢? [Sa-Token 官方描述](https://gitee.com/sa-tokens/sa-token-three-plugin/blob/master/README_PR_STEP.md) 由此可见 ,Sa-Token 的第三方插件是基于 SPI 机制实现的装配,我们要知其然且知其所以然,不仅要学会开发插件还要学会大佬们的设计思路 废话不多说,现在正式开始!
这里分享一个使用Sa-Token的gateway鉴权demo。 需求分析 结构 认证 sa-token模块 我们首先编写sa-token模块进行token生成和权限分配。 在sa-token的session模式下生成token非常方便,只需要调用 StpUtil.login(Object id); 就可以为账号生成 Token 凭证与 Session 会话了。 当然sa-token也支持jwt来生成无状态的token,这样就不需要在服务中引入redis了。 我们仅仅使用了sa-token的一个StpUtil.login(Object id)方法,其他事情sa-token都帮我们完成了,更无需复杂的配置和多到爆炸的Bean。 在sa-token中想要实现这个功能,只需要实现StpInterface接口即可。
本文将从SA-Token的基础概念出发,深入探讨其在SpringBoot项目中的集成方案,通过丰富的代码示例和实战案例,帮助读者全面掌握SA-Token的使用技巧和最佳实践。 第一章:SA-Token框架概述与核心特性 1.1 SA-Token简介与设计理念 1.1.1 什么是SA-Token SA-Token是一个轻量级Java权限认证框架,专注于解决Web应用中的权限认证问题 userId = StpUtil.getLoginId(); // 注销登录 StpUtil.logout(); 1.1.2 SA-Token的设计理念 SA-Token的设计遵循以下核心理念: 简单性 架构设计 1.3.1 核心组件架构 SA-Token采用模块化设计,核心组件包括: /** * SA-Token核心组件架构演示 */ public class SaTokenArchitecture 实战课程 极客时间:权限系统设计专栏 B站:SA-Token作者孔明老师的视频教程 掘金社区:SA-Token技术文章和实践分享 6.5 实践练习与思考 6.5.1 动手实践项目 为了更好地掌握SA-Token
具体的克隆步骤过于简单和常规化,读者可自行完成,或百度一下~ 二、Sa-Toekn框架 2.1 Sa-Token 简介 Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证 3.1.1 导入依赖 在pom文件中导入sa-token的相关依赖。 3.2 登录认证 3.2.1 配置黑白名单 在管理系统中,除了登录接口,基本上都需要登录认证,在 sa-token中使用路由拦截鉴权是最方便的,也就是说给sa-token配置拦截器,实现WebMvcConfigurer 当用户不是被允许的角色访问时,Sa-Token会抛出NotRoleException异常。 用户无权限访问时,Sa-Token 会抛出NotPermissionException异常。
前言 相信大家都用过Spring Security和Shiro的框架,Spring Security必须配合Spring 全家桶使用和繁琐的配置,Shiro简单易学、轻便,但个人使用下来,觉得Sa-Token Sa-Token 是什么? Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:**登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权** 等一系列权限相关问题。 如何使用? 在Spring Boot中是可以零配置启动的,上面的测试用例就是零配置启动的 当然也可以根据自己需要在配置 1、在application.yml配置 # Sa-Token配置 sa-token: 如果你想找一个开箱即用的登录授权框架,可以选择Sa-Token,特别是接小项目私活的时候贼好用!
因为最近上班比较忙,第二部分直到现在才学习并且写出来。这一节我接着上节的内容,带领大家学习并且实战 SPI 机制在 Spring 和 SpringBoot中的实现方式。并且我还对 JDK 中的实现 ServiceLoader 进行了源码分析,带领大家深入底层源码学习。废话不多说,现在开始!