当前位置:首页 > 数据库

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

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

项目图

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

先建一个基础springboot项目

基础项目

项目中仅包含spring-boot-starter、初体spring-boot-starter-test、轻量a权spring-boot-starter-web

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

2.0.3.RELEASE

</dependency>

随便给指定一个端口

server:

port: 9999

启动一下

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

cn.dev33

sa-token-spring-boot-starter

1.28.0

</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

分享到:

滇ICP备2023006006号-16