gpt4 book ai didi

java - 数据库中的 URL

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:00 26 4
gpt4 key购买 nike

我们在使用 Apache Shiro 时遇到了一些小问题。我们将 Shiro 与 JDBC 领域一起使用:用户、角色和权限都存储在我们的 SQL Server 数据库中。我们有一个java应用程序用作后台来插入、更新或删除用户、角色和权限。但我们需要对 URL 过滤器执行相同的操作。

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

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

最佳答案

Shiro 使用 FilterChainManager 的默认实现管理和创建过滤器的界面。您可以创建此接口(interface)的自定义实现,以委托(delegate)给您的数据库以获取配置信息。请参阅DefaultFilterChainManager实现想法。

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

  1. 当请求进入 servlet 容器时,它会被 ShiroFilter 拦截。
  2. ShiroFilter 委托(delegate)给 FilterChainResolver获取应针对任何给定请求执行的 FilterChain
  3. 默认的FilterChainResolver,一个 PathMatchingFilterChainResolver实现依次检查请求路径并使用该路径通过 FilterChainManager 执行查找。
  4. 返回解析后的FilterChain,然后由主ShiroFilter执行。

您可以将任何您想要的FilterChainResolver插入到ShiroFilter中。您可以使用默认的 FilterChainResolver 并将其委托(delegate)给您的自定义 FilterChainManager 实例,或者您可以根据需要实现其中一个(或两个)接口(interface)。

关于java - 数据库中的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14467097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com