使用saToken快速实现用户登录

使用saToken快速实现用户登录

前言:在此之前,没有听说过saToken,在看了官方文档后,发现saToken框架做了大量的封装,这样使得学习和使用都很方便,以下是使用saToken快速实现用户登录的方式,适合刚接触saToken的小白入手。。。

1,配置:

①maven坐标

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

②配置文件

sa-token:
  # token 名称(同时也是 cookie 名称)
  token-name: satoken
  # token 有效期(单位:秒) 默认30天,-1 代表永久有效
  timeout: 2592000
  # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
  active-timeout: -1
  # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)
  is-concurrent: true
  # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token)
  is-share: true
  # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)
  token-style: uuid
  # 是否输出操作日志
  is-log: true
2,举例:

①登录:在调用saToken的登录方法login()时可以指定登录的标识

@PostMapping("/login")
    public String login(String name,String password){
    	//使用用户id作为登录标识
        StpUtil.login(1111); //1111应该是数据库中查到的结果
        //这个登录标识只能在当前方法中可以获取到
        int userId = StpUtil.getLoginIdAsInt();
        return String.valueOf(userId);
    }

②会话存储:之前使用的是JWT实现的登录,然后使用的ThreadLocal存储的数据;在saToken中,是通过当前会话Session存储数据的。

		//2,会话存储
        StpUtil.getSession().set("userId",2222);
        //获取存储的数据
        StpUtil.getSession().get("userId");

注意:这是简单的会话存储数据,如果想要严格保证数据安全性,可以学习saToken的官方文档。使用Session会话存储数据,数据有效期就是Session的有效时长,默认超时时间是30分钟。

③获取token:在登录之后,可能会需要token的值;

		//3,获取token
        String token = StpUtil.getSession().getToken();
3,总结:

以上就是开发中经常使用的几个api,当然saToken的强大之处不仅仅就这么一点,想要深入学习saToken还得在实际项目中使用。不过,以上几个api对于刚入门的小白来说已经够用了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值