Я работаю с Граалем. Я создал сервис, который будет удалять учетную запись конкретного пользователя. Если вошедший в систему пользователь решает удалить свою учетную запись, на его адрес электронной почты будет отправлена ссылка для проверки, после того как он щелкнет эту ссылку, его учетная запись будет удалена из базы данных, и в то же время он будет автоматически отключен от системы, и будут перенаправлены на домашнюю страницу веб-сайта.
Это мой код при удалении аккаунта. Кто-нибудь может дать мне код о том, как автоматически выйти из системы в данный момент вошедшего в систему пользователя?
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
}
}