学习笔记——在Springboot中使用spring security(一):初体验

一、前言

一提到spring security,就难免提起java 领域老牌的权限管理框架 Shiro 。对于这两款框架,各有优劣。但是说某个东西好与不好,前提就是你必须用过。所以,作为开发者,两种框架还是都需要适当的掌握。所以今天就先来简单搞一搞这个spring security。

二、开整

Springboot为spring security的配置带来了极大的便利。只需要在pom.xml文件中加入下面的依赖,启动项目,spring security就已经开始为你的项目提供保护了。

		<!--    spring-security启动器    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

准备一个Controller简单测试一下

/**
 * @author wangtianqi
 * @create 2020-09-17 13:36
 */
@RestController
@RequestMapping("/Hello")
public class HelloSpringBoot {

    @GetMapping("/SpringBoot")
    public R hello() {

        return "Hello SpringBoot!";
    }
}

在浏览器访问这个路径后会发现,你的请求被要求登录才能执行。

在这里插入图片描述

现在可以使用默认的用户名user,以及默认的密码进行登录。密码就在启动项目时控制台已经打印出来了。

在这里插入图片描述

输入默认用户名user以及这个密码就可以进行登录了。

在这里插入图片描述
成功请求了Controller。

现在完整的登录流程只差一步登出。这个spring security当然也做了自动化配置。
准备一个j简单index.html页面,重启项目尝试访问这个静态页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>INDEX</title>
</head>
<body>
<h1>INDEX</h1>
<form action="/logout" method="get">
    <button>logout</button>
</form>
</body>
</html>

重启项目发现,密码每次重启项目都会自动重置。现在先不管它。
在这里插入图片描述
尝试访问index.html,理所应当的,我们被挡在了登录页面。这也意味着,默认的自动化配置也会将我们的静态资源保护起来。(静态资源的问题后面会说)
按之前的流程登录后,成功访问到了index.html
在这里插入图片描述
点击刚准备好的logout按钮,会有一个确认登出的页面。
在这里插入图片描述
再次点击logout,会发现退回到了登录页,此时想访问接口或静态资源都会被拦住。
在这里插入图片描述
可以看到仅仅是加了依赖,就能完成一套相对完整的权限流程。
但是肯定不可能让系统的密码每次启动都变化,还有我还想自定义用户名怎么办。就留到下一篇文章吧。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值