springboot+sa-token-quick-login实现快速登录

当你的项目需要一个登录认证功能,这个登录界面可以不华丽、可以烂,但是一定要有,同时你又不想花费太多的时间浪费在登录页面上, 那么你便可以尝试一下Sa-Token-Quick-Login。

1、Sa-Token-Quick-Login

Sa-Token-Quick-Login 可以为一个系统快速的、零代码的注入一个登录页面。

试想一下,假如我们开发了一个非常简单的小系统,比如说:服务器性能监控页面, 我们将它部署在服务器上,通过访问这个页面,我们可以随时了解服务器性能信息,非常方便。然而,这个页面方便我们的同时,也方便了一些不法的攻击者,由于这个页面毫无防护的暴露在公网中,任何一台安装了浏览器的电脑都可以随时访问它!为此,我们必须给这个系统加上一个登录认证,只有知晓了后台密码的人员才可以进行访问。

细细想来,完成这个功能你需要:

  • 编写前端登录页面,手写各种表单样式;
  • 寻找合适的ajax类库,jQuery?Axios?还是直接前后台不分离?
  • 寻找合适的模板引擎,比如jsp、Thymeleaf、FreeMarker、Velocity……选哪个呢?
  • 处理后台各种拦截认证逻辑,前后台接口对接;
  • 你可能还会遇到令人头痛欲裂的模板引擎中ContextPath处理;
  • ……

你马上就会发现,写个监控页你一下午就可以搞定,然而这个登录页你却可能需要花上两三天的时间,这是一笔及其不划算的时间浪费。

那么现在你可能就会有个疑问,难道就没有什么方法给我的小项目快速增加一个登录功能吗?Sa-Token-Quick-Login便是为了解决这个问题!

2、springboot+sa-token-quick-login实例

Springboot整合 Sa-Token-Quick-Login 插件实现快速登录认证。

添加依赖



    cn.dev33
    sa-token-quick-login
    1.33.0

配置application.properties

####### Sa-Token-Quick-Login 配置 #######
# 登录账号
sa.name=admin
# 登录密码
sa.pwd=123456
# 是否自动随机生成账号密码 (此项为true时, name与pwd失效)
sa.auto=false
# 是否开启全局认证(关闭后将不再强行拦截)
sa.auth=true
# 登录页标题
sa.title=Sa-Token
# 是否显示底部版权信息
sa.copr=true
# 指定拦截路径
sa.include=/**
# 指定排除路径
sa.exclude=/test

添加controller

@RestController
public class TestController {

    /**
     * 不需要认证
     *
     * @return
     */
    @GetMapping("test")
    public String test() {
        return "test";
    }

    /**
     * 需要认证
     *
     * @return
     */
    @GetMapping("test1")
    public String test1() {
        return "test1";
    }
}

启动服务,测试访问即可。

3、测试

使用浏览器访问:http://localhost:8081,首次访问时,由于处于未登录状态,会被强制进入登录页面。
springboot+sa-token-quick-login实现快速登录_第1张图片
访问 http://localhost:8080/test
springboot+sa-token-quick-login实现快速登录_第2张图片
访问正常。
访问 http://localhost:8080/test1
springboot+sa-token-quick-login实现快速登录_第3张图片
由于没有登录,被拦截了,到了登录页面。
输入配置的用户密码admin/123456,登录后即可返回正常响应数据。
springboot+sa-token-quick-login实现快速登录_第4张图片
感兴趣的小伙伴可以尝试一下~,亲测可用。

注:官网地址:https://sa-token.cc/doc.html#/plugin/quick-login

你可能感兴趣的:(springboot,spring,boot,sa-token,quick-login,登录)