Guest User

Untitled

a guest
Oct 1st, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. package mygrailsapp
  2.  
  3. import grails.converters.JSON
  4. import org.springframework.security.authentication.AccountExpiredException
  5. import org.springframework.security.authentication.CredentialsExpiredException
  6. import org.springframework.security.authentication.DisabledException
  7. import org.springframework.security.authentication.LockedException
  8. import org.springframework.security.web.WebAttributes
  9. import org.springframework.security.web.authentication.session.SessionAuthenticationException
  10. import org.springframework.web.servlet.support.RequestContextUtils
  11.  
  12.  
  13. class LoginController extends grails.plugin.springsecurity.LoginController {
  14.  
  15. // LoginController in Grails Spring Security uses request.locale, which is wrong according to Grails 3.
  16. //
  17. def authfail() {
  18.  
  19. Locale locale = RequestContextUtils.getLocale(request)
  20.  
  21. String msg = ''
  22. def exception = session[WebAttributes.AUTHENTICATION_EXCEPTION]
  23. if (exception) {
  24. if (exception instanceof AccountExpiredException) {
  25. msg = messageSource.getMessage('springSecurity.errors.login.expired', null, "Account Expired", locale)
  26. } else if (exception instanceof CredentialsExpiredException) {
  27. msg = messageSource.getMessage('springSecurity.errors.login.passwordExpired', null, "Password Expired", locale)
  28. } else if (exception instanceof DisabledException) {
  29. msg = messageSource.getMessage('springSecurity.errors.login.disabled', null, "Account Disabled", locale)
  30. } else if (exception instanceof LockedException) {
  31. msg = messageSource.getMessage('springSecurity.errors.login.locked', null, "Account Locked", locale)
  32. } else if (exception instanceof SessionAuthenticationException) {
  33. msg = messageSource.getMessage('springSecurity.errors.login.max.sessions.exceeded', null, "Sorry, you have exceeded your maximum number of open sessions.", locale)
  34. } else {
  35. msg = messageSource.getMessage('springSecurity.errors.login.fail', null, "Authentication Failure", locale)
  36. }
  37. }
  38.  
  39. if (springSecurityService.isAjax(request)) {
  40. render([error: msg] as JSON)
  41. } else {
  42. flash.message = msg
  43. redirect action: 'auth', params: params
  44. }
  45. }
  46. }
Add Comment
Please, Sign In to add comment