【问题标题】:Urls in database数据库中的网址
【发布时间】:2013-01-24 02:51:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: java sql-server web-services shiro


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 好的。这对我来说有点难,但我会看它并可能会寻找例子。
    • 如何将自定义FilterChainResolver 插入ShiroFilter
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2014-02-07
    相关资源
    最近更新 更多