之前的文章中,各个角色之间不具备任何关系,但一般来说角色之前是有关系的,例如 ROLE_admin 一般既有 admin 的权限,又具有 user 的权限。下面介绍如何配置这种角色之间相互继承的关系。 五、角色继承 1,配置角色关系 要配置角色继承关系,只需在 Spring Security 的配置类中提供......
虽然前面我们实现了通过数据库来配置用户与角色,但认证规则仍然是使用 HttpSecurity 进行配置,还是不够灵活,无法实现资源和角色之间的动态调整。 要实现动态配置 URL 权限,就需要开发者自定义权限配置,具体步骤如下。 四、基于数据库的URL权限规则配置......
之前的文章样例中,认证数据都是定义在内存里。而在真实项目中,用户的基本信息以及角色等都存储在数据库中,因此需要从数据库中获取数据进行认证。本文通过样例进行演示。 三、基于数据库的用户角色配置 1,添加依赖、配置数据库 本次样例使用 MyBatis 来操作数据库......
二、基于内存的用户、URL权限配置 1,用户角色配置 (1)我们可以通过自定义类继承 WebSecurityConfigurerAdapter,从而实现对 Spring Security 更多的自定义配置。比如下面样例我们就配置了两个用户,以及他们对应的角色。 注意:基于内存的用户配置在配置角色时不需要添加“ROLE_”前缀......
一般项目都会有严格的认证和授权操作,而在 Java 开发领域常见的安全框架有 Shiro 和 Spring Security。本文首先介绍下后者。 一、基本用法 1,什么是 Spring Security ? Spring Security 是一个相对复杂的安全管理框架,功能比 Shiro 更加强大,权限控制细粒度更高......
相较于于 Redis 单机缓存,Redis 集群缓存的配置要复杂一些(缓存使用方面还是一样),但具有良好的扩展性和安全性。下面通过样例演示具体操作步骤。 三、使用 Redis 集群缓存 1,搭建 Redis 集群 本案例采用的 Redis 集群由 8 台 Redis 实例组成,4 主 4 从......
在上文中我介绍了 Spring Boot 使用 EhCache 2.x 来作为缓存的实现,本文接着介绍使用单机版的 Redis 作为缓存的实现。 和 Ehcache 一样,如果在 classpath 下存在 Redis 并且 Redis 已经配置好了,此时默认就会使用 RedisCacheManager......
Spring 3.1 中开始对缓存提供支持,核心思路是对方法的缓存,当我们调用一个方法时,将方法的参数和返回值作为 key/value 缓存起来,当再次调用该方法时,如果缓存中有数据,就直接从缓存中获取,否则再去执行该方法。 Spring 并未提供缓存的实现,我们可以自由选择缓存的实现......
如果我们需要对项目进行横向扩展搭建集群,那么可以利用一些硬件或者软件工具(比如 Nginx)来做负载均衡,此时,来自同一个用户的 HTTP 请求就有可能被分发到不同的实例上去,如何保证各个实例之间 Session 的同步就成为一个必须解决的问题......
在前后端分离开发中,为了减少与其它团队的沟通成本,一般都会构建一份 RESTful API 文档来描述所有的接口信息。但传统的方式有许多弊端,不仅编写文档工作量巨大,而且维护不方便,测试也不方便(需要借助第三方工具,如 Postman 来测试) 为解决这些问题,我们可以使用 Swagger 2......