数据库中的网址

时间:2013-01-22 20:06:43

标签: java sql-server web-services shiro

Apache Shiro有点问题。 我们正在使用Shiro和JDBC领域:用户,角色和权限存储在我们的SQL服务器数据库中。 我们有一个java应用程序用作后台来插入,更新或删除用户,角色和权限。但是我们需要对Urls过滤器做同样的事情。

我发现了一些关于它的事情,但我真的是Shiro的初学者,我不理解它们,通常,这些例子是servlet和JSP(我们只使用HTML / CSS / JS和数据)通过网络服务收集。)

是否有人可以解释如何在数据库中存储网址和过滤,而不是在INI文件中?

1 个答案:

答案 0 :(得分:1)

Shiro使用FilterChainManager接口的默认实现来管理和创建过滤器。您可以创建此接口的自定义实现,以委派数据库获取配置信息。有关提示,请参阅DefaultFilterChainManager实施。

以下是这些东西在运行时的工作原理:

  1. 当请求进入servlet容器时,它被ShiroFilter拦截。
  2. ShiroFilter委托FilterChainResolver获取应为任何特定请求执行的FilterChain
  3. 默认FilterChainResolverPathMatchingFilterChainResolver实施依次检查请求路径并使用该路径执行FilterChainManager的查找。
  4. 返回已解析的FilterChain,然后由主ShiroFilter执行。
  5. 您可以将您希望的任何FilterChainResolver插入ShiroFilter。您可以使用默认的FilterChainResolver并将其委派给自定义FilterChainManager实例,也可以根据需要实现任一(或两者)接口。