当前位置: > > > SpringBoot - 安全管理框架Spring Security使用详解1(基本用法 )

SpringBoot - 安全管理框架Spring Security使用详解1(基本用法 )

    一般项目都会有严格的认证和授权操作,而在 Java 开发领域常见的安全框架有 Shiro Spring Security。本文首先介绍下后者。

一、基本用法

1,什么是 Spring Security ?

  • Spring Security 是一个相对复杂的安全管理框架,功能比 Shiro 更加强大,权限控制细粒度更高,对 OAuth 2 的支持也更友好。
  • 由于 Spring Security 源自 Spring 家族,因此可以和 Spring 框架无缝整合,特别是 Spring Boot 中提供的自动化配置方案,可以让 Spring Security 的使用更加便捷。

2,安装配置

我们只需要编辑 pom.xml,添加 spring-boot-starter-securtiy 依赖即可。添加后项目中所有的资源都会被保护起来。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

3,开始测试

(1)首先在项目添加一个简单的 /hello 接口:
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "欢迎访问 hangge.com";
    }
}

(2)接着启动项目,直接访问 /hello 接口则会自动跳转到登录页面(这个登录页面是由 Spring Security 提供的)

(3)我们必须登录后才能访问 /hello 接口。默认用户名是 user,而登录密码则在每次启动项目时随机生成,我们可以在项目启动日志中找到。

(4)登录后则会自动跳转到之前我访问的 /hello 接口:

4,配置用户名和密码

    如果对默认的用户名和密码不满意,可以在 application.properties 中配置默认的用户名、密码和角色。这样项目启动后就不会随机生成密码了,而是使用我们配置的用户、密码,并且登录后还具有一个 admin 角色(关于角色的用法再后面的文章会相信介绍)。
spring.security.user.name=hangge
spring.security.user.password=123
spring.security.user.roles=admin
评论0