轻量级 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
spring-boot-starter
spring-boot-starter-test
spring-boot-starter-web
随便给指定一个端口
server:
port: 9999启动一下
没有问题,证框接下来在项目中引入Sa-Token依赖
sa-token-spring-boot-starter
重启项目
引入成功
项目启动时打印出来了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