美文网首页
Spring Security 引入项目基本步骤

Spring Security 引入项目基本步骤

作者: 一块自由的砖 | 来源:发表于2019-08-13 17:25 被阅读0次

Spring Security 基本介绍

具体的可以参考官方文档

SpringSecurity核心功能:

  • 认证
  • 授权

环境搭建

1 配置maven,引入security包

pom.xml引入spring security包

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

2 目录结构,后续要扩展读取数据库的帐号密码验证功能,目录结构先构建上

security模块目录

3 配置SpringSecurity

配置实现的目标:在浏览器输入http://localhost:8080/控制器名称对应任意地址后,页面自动跳转到自动生成的login页面,输入用户名(user)和密码,即可跳转到要访问的地址。具体看代码的注释。

package com.springboot.action.saas.modules.security.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

//定义配置类被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被
//AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,
//并用于构建bean定义,初始化Spring容器。
@Configuration
//加载了WebSecurityConfiguration配置类, 配置安全认证策略。
//加载了AuthenticationConfiguration,
@EnableWebSecurity
//用来构建一个全局的AuthenticationManagerBuilder的标志注解
//开启基于方法的安全认证机制,也就是说在web层的controller启用注解机制的安全确认
@EnableGlobalMethodSecurity(prePostEnabled = true)
//Web Security 配置类
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    /*
     * 配置http服务,路径拦截、csrf保护等等均可通过此方法配置
     * */
    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        //HttpSecurity对象
        httpSecurity
                //设置权限定义哪些URL需要被保护、哪些不需要被保护。HttpSecurity对象的方法
                .authorizeRequests()
                //认证通过后任何请求都可访问。AbstractRequestMatcherRegistry的方法
                .anyRequest().authenticated()
                //连接HttpSecurity其他配置方法
                .and()
                //生成默认登录页,HttpSecurity对象的方法
                .formLogin();
    }
}

4 运行效果

当输入访问地址后,会跳转到登陆页面


登陆表单

在登陆表单输入帐号:user,密码在控制台输出中查找

Using generated security password: 35fc3ebd-420e-4403-ba3f-6819bf47e4d9

就可以访问了。说名spring security 起作用了。实际使用中,更多的时候是从数据库的用户表中获取来验证用户的帐号和密码,后续深入学习,要实现两个功能:

  1. 静态页面,css,js等文件不需要验证即可反问。
  2. 从数据库获取用户的帐号和密码信息验证用户。

相关文章

网友评论

      本文标题:Spring Security 引入项目基本步骤

      本文链接:https://www.haomeiwen.com/subject/cxpbjctx.html