【标题】springboot 整合 sa-token简介及入门教程
【简介】本文将介绍SpringBoot如何整合sa-token进行权限控制,通过本文的学习,读者可以轻松入门sa-token,并使用sa-token在SpringBoot项目中实现控制权限的功能。
【内容】
1. 什么是 sa-token
- sa-token 是面向对象的轻量级Java权限认证框架。
- sa-token 易于使用,不论是熟练Java开发者还是刚刚开始学习Spring的初学者都可以简单了解它。
- sa-token 是一个可用于常规系统的全能、通用ssession解决方案,用于替换原生ssession或jwt来实现用户个人化的多状态。
- sa-token 不依赖于任何前后端框架,适用于 Spring、Spring Boot、 JFinal、Beetl、Servlet、JEE 等环境。
2. sa-token 的优势
- 易于使用:使用简单,底层精细,学习门槛低。
- 功能丰富:Token、SSO、权限、临时身份切换、自动续签等。
- 自由度高:支持任意账号体系,可以配合任何框架或无框架使用。
- 扩展性强:内部提供的插件机制,可扩展自定义功能。
3. 相关环境的安装
- JDK 1.8 及以上
- IDE:Eclipse或者IntelliJ IDEA
- SpringBoot 2.0 以上版本
- sa-token jar包,可以从官网下载。
4. 项目中集成 sa-token
- 在pom.xml引入jar包:
<!-- sa-token依赖 -->
<dependency>
<groupId>cn.dev33.satoken</groupId>
<artifactId>sa-token-starter-spring-boot-web</artifactId>
<version>1.18.0-RELEASE</version>
</dependency>
- 在启动类上添加
@SaTokenApplication
注解来启动 sa-token:
@SpringBootApplication
@SaTokenApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
-
在需要进行验证的方法上,加上
@SaCheckLogin
注解就可以进行登录验证了。 -
在需要进行鉴权的方法上,加上
@RequiresPermissions
注解,加上对应权限的码,就可以进行权限鉴定了,代码示例:
@RestController
public class TestController {
// 必须登录才能访问
@SaCheckLogin
@GetMapping("/test")
public String hello() {
return "hello sa-token";
}
// 必须拥有test权限才能访问
@RequiresPermissions("test")
@GetMapping("/test1")
public String requireTestPermission() {
return "test permission success";
}
}
5. 示例说明
示例一:简单的登录验证
@RestController
public class TestController {
// 必须登录才能访问
@SaCheckLogin
@GetMapping("/test")
public String hello() {
return "hello sa-token";
}
}
- 在此示例中,我们在
TestController
类中定义了一个返回 "hello sa-token" 的hello
接口。通过在方法上加上@SaCheckLogin
注解,这个接口就必须在登录后才能访问。
示例二:权限控制
@RestController
public class TestController {
// 必须拥有test权限才能访问
@RequiresPermissions("test")
@GetMapping("/test1")
public String requireTestPermission() {
return "test permission success";
}
}
- 在此示例中,我们在
TestController
类中定义了一个返回 "test permission success" 的requireTestPermission
接口。通过在方法上加上@RequiresPermissions("test")
注解,这个接口就必须拥有 test 权限才能访问。
【结论】
通过以上2个示例,我们可以看到,使用 sa-token 实现权限控制非常方便,仅需在对应的方法上加上相应的注解即可。同时,由于 sa-token 的易用性,即使没有 Spring 的相关经验,初学者也可以轻松上手。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 整合 sa-token简介及入门教程 - Python技术站