gpt4 book ai didi

grails - grails:如何为SimpleUrlAuthenticationSuccessHandler/AbstractAuthenticationTargetUrlRequestHandler设置targetUrlParameter

转载 作者:行者123 更新时间:2023-12-02 14:11:27 27 4
gpt4 key购买 nike

我想根据某些条件在成功登录后动态重定向。所以我加了
grails.plugin.springsecurity.successHandler.targetUrlParameter ='myTargetUrlParam'
到我的config.groovy,但现在我想知道在哪里以及如何设置“targetUrlParameter”,以便“AbstractAuthenticationTargetUrlRequestHandler”可以访问它。 “request.getParameter(targetUrlParameter)”(在下面的第10行中)返回null。

protected String determineTargetUrl(HttpServletRequest request, HttpServletResponse response) {
if (isAlwaysUseDefaultTargetUrl()) {
return defaultTargetUrl;
}

// Check for the parameter and use that if available
String targetUrl = null;

if (targetUrlParameter != null ) {
targetUrl = request.getParameter(targetUrlParameter);

if (StringUtils.hasText(targetUrl)) {
logger.debug("Found targetUrlParameter in request: " + targetUrl);

return targetUrl;
}
}

if (useReferer && !StringUtils.hasLength(targetUrl)) {
targetUrl = request.getHeader("Referer");
logger.debug("Using Referer header: " + targetUrl);
}

if (!StringUtils.hasText(targetUrl)) {
targetUrl = defaultTargetUrl;
logger.debug("Using default Url: " + targetUrl);
}

return targetUrl;
}

我试过了
params.myTargetUrlParam = 'some url to redirect to'

在我的LoginController中,但是没有解决。我在这里做错了什么?

最佳答案

我认为您必须将目标url参数添加到用于提交登录表单的url中。

例如,您的LoginController可能返回一个包含登录表单的 View :

<g:form url="/j_spring_security_check?myTargetUrlParam=your-redirect-url">
<!-- fields for username and password -->
</g:form>

关于grails - grails:如何为SimpleUrlAuthenticationSuccessHandler/AbstractAuthenticationTargetUrlRequestHandler设置targetUrlParameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25260212/

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