Spring Security是一个安全组件,为Java EE开发提供安全防护。Spring Security可以提供细粒度的控制,在MVC的每一层都可以通过加注解的方式来进行防护。我们一般使用Spring Security来实现认证和授权功能,认证通俗来说就是登陆,授权就是允许用户访问哪些资源。
工具/原料
IntelliJ IDEA
方法/步骤
1
SpringBoot Security是对Spring Security框架做了封装,并且加上了SpringBoot的起步依赖特性。我们创建项目并且引入spring-boot-starter-security的依赖。
2
配置Spring Security,我们需要创建一个SecurityConfig类并且继承WebSecurityConfigurerAdapter。在类上加@EnableWebSecurity注解开启WebSecurity的功能。同时添加@Configuration注解表明这是一个配置类。
3
接下来我们再写一个方法,并且注入一个AuthenticationManagerBuilder类的Bean, 它的作用是在内存中创建一个认证用户的信息。下面是这个认证用户的用户名、密码和角色。这段代码的作用是应用中的每一个请求都必须要认证。
4
接下来我们启动应用程序,会自动生成一个表单,并且使用上面的用户名和密码进行认证。在页面进行http的请求会自动跳转到登陆的页面。
5
此时我们在控制台可以看到HTTP method names must be tokens的信息,说明这个接口需要进行认证。
6
我们输入用户名和密码后再次请求之前的接口,可以看到正常返回了数据。
注意事项
由于项目中指定了spring-boot-starter-parent,因此不再需要单独写版本号。
下一篇:AI高手技巧系列篇之二 绘图操作