作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想根据某些条件在成功登录后动态重定向。所以我加了
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'
最佳答案
我认为您必须将目标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/
我正在尝试将用户重定向回他们单击登录链接的页面。 (页面对于未经身份验证的用户是只读的,但对于登录用户是可写的。)我如何将用户重定向回他们登录后的位置? 我通过以下链接将用户发送到登录页面:/spri
我是一名优秀的程序员,十分优秀!