Skip to content

Commit 0314580

Browse files
authored
Merge pull request #1024 from codeconsole/7.0.x-fix-authfail-locale
Fix locale for authfail to be consistant with g:message FormatTagLib resolveLocale
2 parents 5ee8c34 + fa10e4a commit 0314580

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

plugin/grails-app/controllers/grails/plugin/springsecurity/LoginController.groovy

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package grails.plugin.springsecurity
1616

1717
import grails.converters.JSON
18+
import org.grails.web.servlet.mvc.GrailsWebRequest
1819
import org.springframework.context.MessageSource
1920
import org.springframework.security.access.annotation.Secured
2021
import org.springframework.security.authentication.AccountExpiredException
@@ -104,18 +105,19 @@ class LoginController {
104105
String msg = ''
105106
def exception = session[WebAttributes.AUTHENTICATION_EXCEPTION]
106107
if (exception) {
108+
def locale = GrailsWebRequest.lookup().getLocale() ?: Locale.getDefault()
107109
if (exception instanceof AccountExpiredException) {
108-
msg = messageSource.getMessage('springSecurity.errors.login.expired', null, "Account Expired", request.locale)
110+
msg = messageSource.getMessage('springSecurity.errors.login.expired', null, "Account Expired", locale)
109111
} else if (exception instanceof CredentialsExpiredException) {
110-
msg = messageSource.getMessage('springSecurity.errors.login.passwordExpired', null, "Password Expired", request.locale)
112+
msg = messageSource.getMessage('springSecurity.errors.login.passwordExpired', null, "Password Expired", locale)
111113
} else if (exception instanceof DisabledException) {
112-
msg = messageSource.getMessage('springSecurity.errors.login.disabled', null, "Account Disabled", request.locale)
114+
msg = messageSource.getMessage('springSecurity.errors.login.disabled', null, "Account Disabled", locale)
113115
} else if (exception instanceof LockedException) {
114-
msg = messageSource.getMessage('springSecurity.errors.login.locked', null, "Account Locked", request.locale)
116+
msg = messageSource.getMessage('springSecurity.errors.login.locked', null, "Account Locked", locale)
115117
} else if (exception instanceof SessionAuthenticationException) {
116-
msg = messageSource.getMessage('springSecurity.errors.login.max.sessions.exceeded', null, "Sorry, you have exceeded your maximum number of open sessions.", request.locale)
118+
msg = messageSource.getMessage('springSecurity.errors.login.max.sessions.exceeded', null, "Sorry, you have exceeded your maximum number of open sessions.", locale)
117119
} else {
118-
msg = messageSource.getMessage('springSecurity.errors.login.fail', null, "Authentication Failure", request.locale)
120+
msg = messageSource.getMessage('springSecurity.errors.login.fail', null, "Authentication Failure", locale)
119121
}
120122
}
121123

0 commit comments

Comments
 (0)