代码之家  ›  专栏  ›  技术社区  ›  Sean Patrick Floyd

在小门,联合收割机wicket:link with 授权策略

  •  4
  • Sean Patrick Floyd  · 技术社区  · 15 年前

    我用一个 IAuthorizationStrategy 限制对某些页面的访问。不过,我也使用类似于以下的html菜单:

    <div class="siteMenu">
    <wicket:link>
        <a href="Page1.html" class="siteMenuLink">
            <wicket:message key="pages.page1.title" />
        </a>
        <a
            href="Page2.html" class="siteMenuLink">
            <wicket:message key="pages.page2.title" />
        </a>
        <a
            href="Page3.html" class="siteMenuLink">
            <wicket:message key="pages.page3.title" />
        </a>
    </wicket:link>
    </div>
    

    ,使用 wicket:link 机制(如: http://wicket.apache.org/examplenavomatic.html ). 然而 授权策略 可能不允许一个或多个这样的目标网页,所以我可能会结束要么大量的链接,导致“权限被拒绝”的网页或大量停用的链接(即。 相对长度单位

    我当然可以写一封信 IComponentInstantiationListener 这检查了所有 BookmarkableLinks 看看他们的目标是否可以通过 授权策略 以其他方式使它们不可见,但我想知道这个问题是否有现成的解决方案。澄清一下:我只使用 isInstantiationAuthorized() 方法 授权策略 .

    1 回复  |  直到 15 年前
        1
  •  3
  •   Sean Patrick Floyd    15 年前

    实际上,我是瞎的。答案是显而易见的。扩展授权策略以检查到页面的链接,然后使用 IUnauthorizedComponentInstantiationListener 使他们看不见