認証にSpring Securityを使用しています。ログインおよびログアウト ボタンは、すべてのページで使用されるページ レイアウトに配置されます。私は作成アクションのパラメーターを必要とする BookController を持っています (例: 画像 ID):
class BookController {
@Secured("ROLE_USER")
def create() {
def someImage = params.imageId
...
}
@Secured("ROLE_USER")
def show() {
...
}
...
}
私のLoginControllerは次のとおりです。
class LoginController {
...
def auth() {
...
redirect uri: SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl
}
...
}
これにより、ログインが成功した後、ユーザーはベース URL にリダイレクトされます。ユーザーが正常にログインする前の URL である参照 URL に常にリダイレクトされるようにしたいと考えています。
例: ユーザーはログインしていません。彼はホーム/インデックスにいて、ログインしたユーザーのみが利用できる book/create にアクセスしたいと考えています。この場合、Spring Security はユーザーを login/auth にリダイレクトし、(ユーザーが正常にログインした後) / (ベース URL) にリダイレクトします。
ユーザーがアクセスしようとしている URL (この場合は book/create) にリダイレクトする必要があります。これは、他のアクションにも当てはまります。ホーム/インデックスにログインしていないユーザーが book/show/32333 にアクセスしようとすると、ログイン/認証にリダイレクトされ、ログインに成功すると、book/show/32333 に戻ります。
どうすればそれを実装できますか?