私はgrailsで働いています。特定のユーザーのアカウントを削除するサービスを作成しました。ログインしたユーザーが自分のアカウントを削除することを選択した場合、確認リンクが自分のメールアドレスに送信され、そのリンクをクリックすると、自分のアカウントがデータベースから削除され、同時に自分のアカウントから自動的にログアウトされます。システム、およびウェブサイトのホームページにリダイレクトされます。
これは、アカウントを削除する際の私のコードです。現在ログインしているユーザーを自動ログアウトする方法のコードを教えてもらえますか?
class AccountDeletionService {
static transactional = true
def auditLogService
def springSecurityService
def delete(Registrant registrant, String key) {
if(key && registrant?.accountDeletionKey == key){
def account = springSecurityService.getCurrentUser()
def loggeduser = account.id
RegistrantEligibilityInformation.executeUpdate(
"delete RegistrantEligibilityInformation as rei where rei.registrant in (" +
"select reg from Registrant as reg where reg.account.id=:loggeduser)",[loggeduser:loggeduser])
RegistrantEducationInformation.executeUpdate(
"delete RegistrantEducationInformation as reduc where reduc.registrant in (" +
"select reg from Registrant as reg where reg.account.id=:loggeduser)",[loggeduser:loggeduser])
Registrant.executeUpdate("delete Registrant as reg where reg.account.id=:loggeduser",[loggeduser:loggeduser])
AccountRole.executeUpdate("delete AccountRole as actrole where actrole.account.id=:loggeduser)",[loggeduser:loggeduser])
Account.executeUpdate("delete Account as act where act.id=:loggeduser)",[loggeduser:loggeduser])
} else return false
}
}