快速搭建——权限认证《一》

  • 环境搭建
    • 全局拦截规则
      • 功能实现(登录,注销,封禁,踢下线)
      • 注解鉴权
    • 拦截规则(进阶版)
      • 补充(切换账号)

环境搭建

sa-token官网文档
redis安装很简单,写入配置文件下面有实例,token存再redis中

AOP依赖注解实现方式再最后一个
实现:可以在具体方法中使用注解鉴权,不仅仅在controller上使用

        <!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.1</version></dependency><!-- Sa-Token 权限认证, 在线文档:http://sa-token.dev33.cn/ --><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot-starter</artifactId><version>1.28.0</version></dependency><!-- redis依赖包 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--Sa-Token-Redis 集成包的版本尽量与 Sa-Token-Starter 集成包的版本一致--><!-- Sa-Token 整合 Redis (使用jackson序列化方式) --><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-dao-redis-jackson</artifactId><version>1.28.0</version></dependency><!-- 提供Redis连接池 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency><!-- Sa-Token整合SpringAOP实现注解鉴权 --><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-aop</artifactId><version>1.28.0</version></dependency>

application-dev.yml

server:port: 30991servlet:context-path: /jay-adminspring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/kuMing?useUnicode=true&characterEncoding=UTF-8username: rootpassword: 123456789redis:# Redis服务器地址host: 127.0.0.1port: 6379# Redis数据库索引(默认为0)database: 1timeout: 5000
#    线程安全lettuce:pool:# 连接池最大连接数max-active: 200# 连接池最大阻塞等待时间(使用负值表示没有限制)max-wait: -1ms# 连接池中的最大空闲连接max-idle: 10# 连接池中的最小空闲连接min-idle: 0jta:atomikos:datasource:xa-data-source-class-name:
#    两种redis方式,下面的线程不安全
#    jedis:
#      pool:
#        max-active: 50
#        max-wait: 3000
#        max-idle: 20
#        min-idle: 2
mybatis-plus:mapper-locations: classpath:/mapper/*.xml
# Sa-Token配置
sa-token:# token名称 (同时也是cookie名称)token-name: satoken# token有效期,单位s 默认30天, -1代表永不过期timeout: 2592000# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒activity-timeout: -1# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)is-concurrent: true# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)is-share: false# token风格token-style: random-128# 是否输出操作日志is-log: falsesso:auth-url: http://sa-sso-server.com:9000/sso/auth

启动类:System.out.println(“启动成功:Sa-Token配置如下:” + SaManager.getConfig());

全局拦截规则

路由拦截规则

/*** @author Jay* @version V1.0* @Package com.shanghai.test1114.config* @date 2022/1/27 3:55 下午* 拦截器* 在高版本 SpringBoot (≥2.6.x) 版本下,需要额外添加 @EnableWebMvc 注解才可以使注册拦截器生效。* 拦截器模式和AOP模式不可同时集成*/
@Configuration
public class SaTokenConfigure implements WebMvcConfigurer {// 注册Sa-Token的注解拦截器,打开注解式鉴权功能@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册注解拦截器,并排除不需要注解鉴权的接口地址 (与登录拦截器无关)//registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**");// 注册Sa-Token的路由拦截器//下面这种是只有登录后才可以访问其他接口,swagger放开可访问 路由拦截规则registry.addInterceptor(new SaRouteInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/doLogin","/swagger-ui.html/**","/swagger-resources/**");}

功能实现(登录,注销,封禁,踢下线)

@GetMapping("/doLogin")
StpUtil.login(user.getUsername()); 登录
StpUtil.logout(); 注销
StpUtil.kickout(RoolId); 踢下线

// 标记当前会话登录的账号id
// 建议的参数类型:long | int | String, 不可以传入复杂类型,如:User、Admin等等
StpUtil.login(Object id);     // 当前会话注销登录
StpUtil.logout();// 获取当前会话是否已经登录,返回true=已登录,false=未登录
StpUtil.isLogin();// 检验当前会话是否已经登录, 如果未登录,则抛出异常:`NotLoginException`
StpUtil.checkLogin()
方法 返回值 释义
登录: StpUtil.login(

简单易学sa-token快速搭建——权限认证《一》相关推荐

  1. kafka集群搭建+权限认证(SASL/SCRAM)+整合springboot

    本文介绍的的是kafka集群搭建.kafka权限认证(SASL/SCRAM).整合springboot项目. 1.创建kafka日志和zookeeper文件目录: /data/kafka/kafka- ...

  2. 云信小课堂丨简单四步,快速搭建协同办公系统!

    Vol. 8 企业作为社会分工参与的主体,在自身发展以及内部协作中,势必会涉及到各类自有技术和商业信息的互动与交流,而这类信息由于有着高度的保密性和隐私性,所以如微信.QQ 等通用的即时通讯工具很难满 ...

  3. java认证框架_sa-token 一个的JavaWeb权限认证框架,强大、简单、好用

    sa-token是什么? 一个的JavaWeb权限认证框架,强大.简单.好用 与其它权限认证框架相比,sa-token尽力保证两点: 上手简单:能自动化的配置全部自动化,不让你费脑子 功能强大:能涵盖 ...

  4. jwt无状态权限认证(pings-shiro-jwt)

    单用户并发访问的问题 当用户AccessToken失效,用户使用该失效的AccessToken同时发起多个请求,会产生多AccessToken和RefreshToken认证失败问题: 多AccessT ...

  5. 这可能是史上功能最全的 Java 权限认证框架!

    点击关注公众号,回复"1024"获取2TB学习资源! 今天给大家推荐的这个开源项目超级棒,可能是史上功能最全的 Java 权限认证框架! Sa-Token 介绍 Sa-Token是 ...

  6. 再见Spring Security!推荐一款功能强大的权限认证框架,用起来够优雅!

    ‍ ‍在我们做SpringBoot项目的时候,认证授权是必不可少的功能!我们经常会选择Shiro.Spring Security这类权限认证框架来实现,但这些框架使用起来有点繁琐,而且功能也不够强大. ...

  7. 再见Spring Security、推荐一款功能强大的权限认证框架

    Sa-Token简介 Sa-Token是一款轻量级的Java权限认证框架,可以用来解决登录认证.权限认证.Session会话.单点登录.OAuth2.0.微服务网关鉴权等一系列权限相关问题. 框架集成 ...

  8. postgrest和postgreSQL权限认证

    前面我们说了如何从0搭建postgrest和postgresql服务,当服务搭起来后没有权限认证肯定是用不的,这节将讲解如何搭建权限认证.pg是通过jwt进行权限认证. 首先要将pg所要用的jwt上传 ...

  9. Spring-Boot快速搭建web项目详细总结

    最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...

最新文章

  1. CMake命令之function
  2. Google和Baidu常用的搜索技巧--转
  3. latex使用小记录
  4. 只下载pycharm不安装python可以用吗_pycharm下怎么配置python
  5. python 插值_Python求解插值、拟合和微分方程问题
  6. 基于Redis、Storm的实时数据查询实践
  7. phpcmsV9 QQ登录问题分析 - 踩坑篇
  8. webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
  9. c语言将水仙花数放入一维数组a中,C语言考试题库及答案(1)
  10. python na不显示 占位_Python学习之路—Python基础(一)
  11. vijos p1059——积木城堡
  12. 利用路由器实现VLAN
  13. php垃圾回收,PHP垃圾回收机制的理解
  14. java模拟简单的qq聊天_初学java之模拟QQ聊天软件(简单实现)
  15. 开发APP的java工具_app傻瓜式开发工具_app开发工具
  16. clang 中英文帮助手册
  17. 【SCIR笔记】多模态摘要简述
  18. cad相贯展开图lisp_cad相贯线的画法
  19. 生鲜配送系统软件排名
  20. 《华为项目管理法》整理

热门文章

  1. linux io流:块层
  2. Android应用请求获取Root权限
  3. 一步步教你实现微信小程序自定义组件
  4. 还为蚊虫、中暑、湿气烦恼吗?教你6个夏季养生小知识
  5. 【弄nèng - Activiti6】Activiti6入门篇(九)—— 邮件任务
  6. 基于逻辑回归/决策树/随机森林/多层感知分类器/xgboost/朴素贝叶斯分类的资讯多分类性能对比
  7. SQL Server 2008R2 18456错误解决方案
  8. 渗透测试流程之Kali
  9. c语言字符串二维数组如何赋值,C语言二维数组字符串的赋值
  10. 米OV三者结盟,只为抗衡华为Share3.0一碰传,预计8月底联盟上线