轻量级 Java 权限认证框架Sa-Token初体验

开发 项目管理
项目中仅包含spring-boot-starter、spring-boot-starter-test、spring-boot-starter-web。

作为一个又菜又爱玩的程序猴(自我感觉离猿总差一点点),GitHub拥有7.7k的star项目,自然是要找时间试试的。

项目图

第一次看到这个项目的时候,是在gitee的GVP推荐中看到的,一直都没有时间深入的了解。最近可用于摸鱼的时间多了起来,简单看了下这个项目的文档,惊讶于文档的详细,是我喜欢的样子(中文文档),所以决定写两行代码试试。

先建一个基础springboot项目

基础项目

项目中仅包含spring-boot-starter、spring-boot-starter-test、spring-boot-starter-web

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>

随便给指定一个端口

server:
port: 9999

启动一下

没有问题,接下来在项目中引入Sa-Token依赖

<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.28.0</version>
</dependency>

重启项目

引入成功

项目启动时打印出来了Sa-Token的内容,引入成功。

新建一个Controller,用来测试基本功能

package com.demo.satoken;

import cn.dev33.satoken.stp.StpUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user/")
public class UserController {

// 测试登录,浏览器访问: http://localhost:9999/user/doLogin?username=zhang&password=123456
@RequestMapping("doLogin")
public String doLogin(String username, String password) {
// 此处仅作模拟示例,真实项目需要从数据库中查询数据进行比对
if("zhang".equals(username) && "123456".equals(password)) {
StpUtil.login(10001);
return "登录成功";
}
return "登录失败";
}

// 查询登录状态,浏览器访问: http://localhost:9999/user/isLogin
@RequestMapping("isLogin")
public String isLogin() {
return "当前会话是否登录:" + StpUtil.isLogin();
}

}

再次重启项目

先在浏览器打开

http://localhost:9999/user/isLogin,查询一下登录状态

未登录

登录一下

登录

再次检查登录状态

登录成功

看得出来,比起Shiro、SpringSecurity这些被广泛使用的鉴权项目,这个项目的集成使用方式可以简单到令人发指。突然更有兴趣了,后续我会继续体验这个项目,有兴趣了解这个项目的请自行查看。

文档地址:http://sa-token.dev33.cn/

项目地址:

https://gitee.com/dromara/sa-token

责任编辑:姜华 来源: 今日头条
相关推荐

2023-11-28 17:24:45

2021-04-13 14:47:53

认证授权Java

2020-11-11 12:13:59

JS

2022-08-10 12:21:07

PythonWebBottle

2023-06-27 16:42:18

Tinygrad深度学习工具

2010-05-18 16:26:06

Lubuntu

2013-06-20 10:28:39

MVVM框架avalon架构

2011-03-02 10:03:44

SaturnJSJS

2022-02-12 21:05:11

异步爬虫框架

2021-07-07 07:33:49

开源Keycloak平台

2011-11-28 09:16:24

Javajooq框架

2012-02-01 09:16:18

Java

2021-08-10 06:08:24

MiniDaoJava框架

2021-03-30 10:26:08

MiniDao1.7.Java框架

2011-03-29 09:51:58

GuiceIOC

2012-05-08 10:36:20

LinuxUbuntu发行版

2021-06-09 05:44:45

云原生 CICD

2023-06-13 13:38:00

FlaskPython

2017-11-09 17:17:36

KotlinJavaWeb

2021-08-24 11:40:26

FluxboxMX Linux 21Linux
点赞
收藏

51CTO技术栈公众号