【问题标题】:Shiro web filter chain order policyShiro web 过滤器链顺序策略
【发布时间】:2013-02-02 03:47:30
【问题描述】:

可能我遇到了一种误解问题,但事情是这样的:

  • 我希望我的<domain>/index.html 公开可用,其他所有内容都应受到保护。

我正在使用 shiro web + guice:

...

bindConstant().annotatedWith(Names.named("shiro.loginUrl")).to("/index.html");

addFilterChain("/index.html", ANON);
addFilterChain("/**", AUTHC);

...

此配置导致我出现“TOO MANY REDIRECTS LOOP”问题。 Shiro 文档说 here 它使用 FIRST MATCH WIN 策略,但我认为我没有搞清楚。

有什么想法吗?

【问题讨论】:

    标签: shiro


    【解决方案1】:

    从表面上看,您的过滤器链看起来应该可以工作。如果没有更多信息,我可能无法诊断您的重定向过多问题 - index.html 的内容、当您点击 index.html 时服务器实际返回的 http 等等。

    但是,我可以告诉您,您不需要这样做。 AUTHC 过滤器对“loginUrl”页面有一个特殊情况——它会让它通过。因此,请尝试移除 ANON 过滤器,看看情况如何。

    【讨论】:

    • 不错!实际上,您的回答提供了正确的线索,我发现我的 index.html(托管 GWT 模块)试图访问一些根据我上面的过滤策略不允许的 GWT 内容。现在我只需要在加载模块后使用 Shiro 使 GWT 请求安全。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 2014-06-17
    • 2021-03-05
    • 2012-07-01
    相关资源
    最近更新 更多