gpt4 book ai didi

java - Wicket - 通过 LoginPage 传递页面参数

转载 作者:行者123 更新时间:2023-11-30 04:25:35 25 4
gpt4 key购买 nike

我想做的是一个简单的页面,它获取一个参数,该参数是对象的id

    @MountPath("share/${share_id}")
public class IndexPage extends WebPage
{
public IndexPage(PageParameters parameters)
{
String id = parameters.get("share_id").toString();
// etc...
}
}

必须确保此页面免受未经授权的访问。我添加了 @AuthorizeInstantiation("user") 注释和托管标准 Wicket 安全支持,包括扩展 MainApplication 中的 getSignInPageClass() AuthenticatedWebApplication.

问题是当我需要在使用原始参数授权后返回我的IndexPage时。我得到了一些解决方案,但我需要它更优雅、更常见(通用)。

  1. 重写 Application 类中的 restartResponseAtSignInPage() 方法
  2. 从RequestCycle中检索参数:

    final Request request = RequestCycle.get().getRequest();
    PageParametersEncoder encoder = new PageParametersEncoder();
    PageParameters parameters = encoder.decodePageParameters(request.getUrl());
  3. 通过抛出new RestartResponseAtInterceptPageException(getSignInPageClass(), newParameters);来传递它们

我知道这不是一个很好的解决方案,因为我需要确定我的网址中参数的确切索引是什么(编码器仅返回indexedParameters,而不返回namedParameters - 或者我做错了什么?)。

也许有人以前遇到过这个问题?

最佳答案

在您的 Siginpage 中,验证登录后,调用 continueToOriginalDestination();

这应该可以解决问题。

关于java - Wicket - 通过 LoginPage 传递页面参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15924410/

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