我们首先创建一个springboot的应用,我们引入了一个web包这样的话,我们就可以通过HTTP的方式调用我们的接口。
里面我们可以给他新建一个实体类和一个接口类。用来验证我们的最基础的接口。
**User实体类**
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
**BasicController接口类**
package com.masiyi.springsecuritydemo.demos.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class BasicController {
// http://127.0.0.1:8080/hello?name=lisi
@RequestMapping("/hello")
@ResponseBody
public String hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) {
return "Hello " + name;
}
// http://127.0.0.1:8080/user
@RequestMapping("/user")
@ResponseBody
public User user() {
User user = new User();
user.setName("theonefx");
user.setAge(666);
return user;
}
}
这个时候我们可以看到,我们只要在浏览器上输入这个地址。就可以返回我们服务里面的内容。那么这就有一个问题,就是说如果我们把这个服务发布在互联网上面,那不是谁都可以调用。所以他就没有一个安全防护的一个环节。
>
> 
>
>
>
#### 第二步,引入spring security的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
我们在项目的pom文件中引入上面的maven代码,记得一定要刷新maven,并且重新启动项目。这样的话,相当于我们的系统就自动引入Spring security的jar包。引入了之后我们就可以直接使用。
可以看到自从引入了这个jar包之后,我们的启动的控制台就会多了一些额外的输出。我们可以看到里面有一个默认生成的密码。我们把它复制下来。
0b34de66-bec1-4a00-aea6-f2cc34e35b28
>
> 
>
>
>
现在我们现在在浏览器上输入刚刚一样的内容。
http://localhost:8080/hello
>
> 
>
>
>
就会发现我们已经无法直接请求到服务里面返回的内容了,而是直接给我们重定向了一个登录页面的地址。这个登录页面的地址是spring security自己生成的一个默认的登录页面。这个时候我们需要重新输入用户名和密码,用户名默认是`user`。然后密码默认是我们刚刚控制台复制好的密码。

这个时候我们就会发现他又给我们从定向到了hello那个页面这样的话和我们第一步直接访问这个url。所看到的结果是一样的,那么他做了什么事呢?就是在我们访问这个结果之前多了一个登录的页面,这样的话就可以把我们所有系统的接口全部给做一层防护。只有在我们输入用户和密码正确的时候,它才会继续给我们访问系统的接口。
#### 第三步,配置自定义的用户名和密码
大家可以看到我们刚刚控制台生成的密码其实是一个随机的字符串,它是security默认生成的,所以现在我们可以给它配一个默认的用户名和密码。我们可以在配置文件中输入以下的配置给他配置自定义的用户名和密码。
spring.security.user.name=wangfugui
spring.security.user.password=123123
>
> 
>
>
>
### 给大家的福利
**零基础入门**
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

因篇幅有限,仅展示部分资料
网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

**网络安全源码合集+工具包**


**所有资料共282G**,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~