2

ユーザーが元のリクエスト URL にリダイレクトされるようなログイン システムを実装しようとしています。たとえば、ユーザーが url '/books/list' (アクセスするにはログインが必要) にアクセスしようとすると、ユーザーはログイン ページにリダイレクトされ、ログイン後、ユーザーは '/books/list' にリダイレクトされます。元の要求された URL。これを行うにはどうすればよいですか? 私のログインコントローラーは次のようになります:

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

サインイン後に要求された 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 に答える
1

Spring Security Core プラグインはデフォルトでこれを行います。

于 2012-09-19T17:25:16.813 に答える