Grails Spring Security 1.2.1 и eraseCredentialsAfterAuthentication - PullRequest
2 голосов
/ 07 сентября 2011

Я заинтересован в удалении открытого текста пароля из объекта Credentials после успешной аутентификации, и мне было интересно, каков наилучший способ сделать это?Похоже, что это может быть установка свойства eraseCredentialsAfterAuthentication объекта ProviderManager, но неясно, как это сделать в плагине Spring Security.

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

Единственный способ установить это свойство - найти его во время начальной загрузки. В BootStrap.groovy в закрытии init добавьте следующие две строки:

def ctx = org.codehaus.groovy.grails.web.context.ServletContextHolder.servletContext.getAttribute(org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes.APPLICATION_CONTEXT);

ctx.authenticationManager.setEraseCredentialsAfterAuthentication(true)

Я проверял это на Grails 1.3.7.

1 голос
/ 04 марта 2013

Этого легче достичь в последней версии плагина Spring Security (1.2.7).Просто добавьте этот параметр в Config.groovy:

grails.plugins.springsecurity.providerManager.eraseCredentialsAfterAuthentication = true

Похоже, эта опция была добавлена ​​для версии 1.2.2 плагина.

...