Spring Boot 2系列(三十):Spring Security 安全框架详解和集成

Spring Security 为基于 Spring 的应用程序提供安全保护,是一个功能强大且可高度自定义的自份验证和访问控制框架。

应用程序安全性的两个主要方面是身份验证(认证:Authentication)和授权(访问控制:Authorization), 这也是 Spring Security 目标的两个主要领域。

身份验证:认证,即确认用户可以访问系统,可理解为用户账号密码正确且有效。
授权:访问控制,即用户在当前系统下所拥有的功能权限。

Spring Boot 关于 Spring Security 官方说明Security, Spring Security 官方文档 -> learn, Spring Boot 集成 Spring Security 官方说明, Spring Security -> Samples and Guides (Start Here)

阅读更多

Spring Context Utils 获取上下文中的 bean

在使用多线程环境时,有些对象不是拖管在 Spring 容器中,但需要拿到 Bean 资源,是无法通过注入的方式的,就需要通过外部工具类来获取 Spring 上下文,再获取 Bean。

阅读更多

Spring Boot 2系列(二十三):自动配置之@Conditional条件注解

  要理解 Spring Boot 的自动配置,就必须先理解 Spring 的 @Conditional注解,在自动配置类中常看到该注解的使用。

  该注解指定了在什么条件下创建 Bean 进行配置。 Spring Boot包含多个 @Conditional 注释,可以在@Configuration注解的类和@Bean注解方法中使用。

  @Conditional类型的注解,可以注解在类上,可以注解在Bean方法上,可以允许基于Spring Environment属性包含配置,可以仅允许在存在特定资源时包含配置。

  官方文档 -> Spring Boot自动配置之条件注解

  也可自定义,通过实现Condition接口,并重写其matches方法来构造判断条件。

阅读更多

SSM 整合之配置文件

  SSM整合之配置文件:

  1. pom.xml,web.xml
  2. jdbc.properties
  3. log4j.properties
  4. springmvc.xml
  5. sqlMapConfig.xml
  6. applicationContext-dao.xml
  7. applicationContext-service.xml
  8. applicationContext-shiro.xml
阅读更多

Spring MVC 实现跨域请求方案

  JavaWeb项目如果采用前后端完全分离架构,前端和后端部署在不同的服务器上,前端负责页面呈现和数据展示,后端提供数据接口给前端调用,这就产生了跨域请求。

  跨域请求:指的是前端(一般指浏览器)向其它应用服务发起访问请求。一般发生在主域名不同、或子域名不同、或端口不同或协议不同的两个应用服务器之间的调用。一般指的是使用ajax来调用。

  实现跨域请求有解决方案,本篇只对SpringMVC自带支持CORS技术进行详细描述,CORS支持多种请求方式(get,post...),在前端处理和普通请求几乎一样,后端配置也容易。

阅读更多