Spring Boot+Spring Security:初体验
2021-05-08 16:29
标签:ica data- ESS 自动生成 了解 mem amp mapping epo 需求缘起 在上一篇文章中,我们对于Spring Security有了一个基本的了解,那么重点是在Spring Boot中如何使用Spring Security呢? 一、Spring Security初体验 这里我们通过简单的集成方式来对Spring Security有一个基本的认知。 1.1 创建项目 创建一个项目,取名为:springboot2-springSecurity01 1.2 添加依赖 在pom.xml文件中添加依赖,主要是springboot parent starter和-start-web以及spring security的依赖。 spring-boot-starter-parent依赖: Spring Security和-web依赖: 1.3 创建Spring Boot启动类 使用@SpringBootApplication创建Spring Boot启动类,如下代码: 如果使用的STS开发工具的话,上面的1.2和1.3都可以跳过。 1.4 编写Controller 随意编写一个测试Controller,这里取名为HelloController,如下示例代码: 1.5 启动测试 启动应用程序,然后进行测试: (1)访问如下地址: http://localhost:8080/hello 如果接口能正常访问,那么应该显示“Hello,SpringSecurity”,但是我们是没法正常访问的,出现了下图的身份验证输入框: 这是因为在SpringBoot中,默认的Spring Security就是生效了的,此时的接口都是被保护的,我们需要通过验证才能正常的访问。 Spring Security提供了一个默认的用户,用户名是user,而密码则是启动项目的时候自动生成的。 我们查看项目启动的日志,会发现如下的一段Log: Using generated securitypassword: 74adcd57-f0be-46c3-87cc-6d9d712cbc27 我们直接用user和启动日志中的密码进行登录,登录成功后,就跳转到了接口正常调用的页面了。 二、小技巧 2.1 关闭验证功能 如果一开始不想使用验证功能,怎么关闭呢? 在配置文件中配置 security.basic.enabled=false 的方式,在5.x版本之后提示过时了,那么应该怎么办呢? 方式一:在启动类中排除 SecurityAutoConfiguration, 如下示例代码: 另外在Spring Boot 2.x中下面配置项被废弃了: 2.2 自定义用户名和密码 上面的用户名是默认的,密码是随时生成的,实在是不方便,那么怎么自定义用户名和密码呢,只需要在配置文件application.properties文件中添加如下配置: Spring Boot+Spring Security:初体验 标签:ica data- ESS 自动生成 了解 mem amp mapping epo 原文地址:https://www.cnblogs.com/shanheyongmu/p/13176593.html
package com.kfit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Springboot2SpringSecurity01Application {
public static void main(String[] args) {
SpringApplication.run(Springboot2SpringSecurity01Application.class, args);
}
}
package com.kfit.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class HelloController {
@GetMapping
public String getWelcomeMsg() {
return "Hello,Spring Security";
}
}
@SpringBootApplication(exclude=SecurityAutoConfiguration.class)
public class Springboot2SpringSecurity01Application {
public static void main(String[] args) {
SpringApplication.run(Springboot2SpringSecurity01Application.class, args);
}
}
security.basic.authorize-mode
security.basic.enabled
security.basic.path
security.basic.realm
security.enable-csrf
security.headers.cache
security.headers.content-security-policy
security.headers.content-security-policy-mode
security.headers.content-type
security.headers.frame
security.headers.hsts
security.headers.xss
security.ignored
security.require-ssl
security.sessions
spring.security.user.name = admin
spring.security.user.password = 123456
文章标题:Spring Boot+Spring Security:初体验
文章链接:http://soscw.com/index.php/essay/84074.html