2

我正在尝试实现一个登录系统,以便将用户重定向回原始请求 url。例如,如果用户尝试访问 url '/books/list'(需要登录才能访问),那么用户应该被重定向到登录页面,登录后,用户应该被重定向到 '/books/list',原始请求的网址。我该怎么做呢 ?我的登录控制器看起来像:

def index = {
if (springSecurityService.isLoggedIn()) {
    redirect action: 'dashboard'
    //redirect uri: SpringSecurityUtils.securityConfig.login.filterProcessesUrl
}
else {

  redirect action: auth, params: params
}
}


def auth = {


def config = SpringSecurityUtils.securityConfig

if (springSecurityService.isLoggedIn()) {
  redirect uri: config.successHandler.defaultTargetUrl
  return
}

String view = 'auth'
String postUrl = "${request.contextPath}${config.apf.filterProcessesUrl}"
render view: view, model: [postUrl: postUrl,
        rememberMeParameter: config.rememberMe.parameter]
}
4

2 回答 2

1

Spring Security Core 插件默认执行此操作。

于 2012-09-19T17:25:16.813 回答
1

登录后重定向到请求的 url,您只需在 config.groovy 文件中添加以下内容。

grails.plugins.springsecurity.successHandler.alwaysUseDefaultTargetUrl = false
grails.plugins.springsecurity.securityConfigType = "InterceptUrlMap"
grails.plugins.springsecurity.interceptUrlMap = [   
'/**': ["IS_AUTHENTICATED_FULLY"]
]
于 2013-04-19T08:18:19.220 回答