5. Shiro从数据库表中初始化资源和权限

我们注意到受保护的资源和对应的权限关系是配死在applicationContext.xml中的:

5. Shiro从数据库表中初始化资源和权限_第1张图片

有时候如果资源和权限的对应关系特别多,一个一个配并不方便。我们还是希望把这种关系放到数据库里面,然后通过SQL的方式取出来。

打断点测试的时候发现filterChainDefinitionMap里面放置的就是我们在配置文件配置的键值对:

5. Shiro从数据库表中初始化资源和权限_第2张图片

所以如果我们要实现从数据库表中初始化资源和权限,只需要配置filterChainDefinitionMap即可:

但是我们不可能又在filterChainDefinitionMap里面配置key-value,如果这么做的话和之前的配置不就一样了吗?所以我们需要配置一个bean,这个bean实际上是一个Map,通过实例工厂的方式。

然后我们去实现这个实例工厂:

5. Shiro从数据库表中初始化资源和权限_第3张图片

你可能感兴趣的:(5. Shiro从数据库表中初始化资源和权限)