我都,
身份验证后,我想将用户重定向到 url 中指定的地址。为此,我实现了这段代码:
在登录控制器中:
def auth = {
def savedRequest = session.getAttribute(WebAttributes.SAVED_REQUEST)
...}
在 config.groovy 中:
grails.plugins.springsecurity.useSecurityEventListener = true
grails.plugins.springsecurity.onAuthenticationSuccessEvent = { e, appCtx ->
def savedRequest = session.getAttribute(WebAttributes.SAVED_REQUEST);
String requestUrl = savedRequest.getRedirectUrl()
}
grails.plugins.springsecurity.successHandler.defaultTargetUrl = requestUrl
提交登录后出现此错误:
类型异常报告
信息
描述 服务器遇到一个内部错误 () 阻止它完成这个请求。
例外
org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingMethodException:没有方法签名:groovy.util.ConfigObject.getAttribute() 适用于参数类型:(groovy.util.ConfigObject) 值:[[:]] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:619)根本原因
groovy.lang.MissingMethodException:没有方法签名:groovy.util.ConfigObject.getAttribute() 适用于参数类型:(groovy.util.ConfigObject) 值:[[:]] script1379418399441191405188$_run_closure3.doCall(script1379418399441191405188.groovy: 154) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java: 619) 注意 Apache Tomcat/7.0.25 日志中提供了根本原因的完整堆栈跟踪。