| 1 |
|
package org.acegisecurity.userdetails.checker; |
| 2 |
|
|
| 3 |
|
|
| 4 |
|
import org.springframework.context.support.MessageSourceAccessor; |
| 5 |
|
|
| 6 |
|
import org.acegisecurity.LockedException; |
| 7 |
|
import org.acegisecurity.CredentialsExpiredException; |
| 8 |
|
import org.acegisecurity.AccountExpiredException; |
| 9 |
|
import org.acegisecurity.DisabledException; |
| 10 |
|
import org.acegisecurity.AcegiMessageSource; |
| 11 |
|
import org.acegisecurity.userdetails.UserDetailsChecker; |
| 12 |
|
import org.acegisecurity.userdetails.UserDetails; |
| 13 |
|
|
| 14 |
|
|
| 15 |
|
|
| 16 |
|
|
| 17 |
|
|
| 18 |
|
|
| 19 |
0 |
public class AccountStatusUserDetailsChecker implements UserDetailsChecker { |
| 20 |
|
|
| 21 |
0 |
protected MessageSourceAccessor messages = AcegiMessageSource.getAccessor(); |
| 22 |
|
|
| 23 |
|
public void check(UserDetails user) { |
| 24 |
0 |
if (!user.isAccountNonLocked()) { |
| 25 |
0 |
throw new LockedException(messages.getMessage("UserDetailsService.locked", "User account is locked"), user); |
| 26 |
|
} |
| 27 |
|
|
| 28 |
0 |
if (!user.isEnabled()) { |
| 29 |
0 |
throw new DisabledException(messages.getMessage("UserDetailsService.disabled", "User is disabled"), user); |
| 30 |
|
} |
| 31 |
|
|
| 32 |
0 |
if (!user.isAccountNonExpired()) { |
| 33 |
0 |
throw new AccountExpiredException(messages.getMessage("UserDetailsService.expired", |
| 34 |
|
"User account has expired"), user); |
| 35 |
|
} |
| 36 |
|
|
| 37 |
0 |
if (!user.isCredentialsNonExpired()) { |
| 38 |
0 |
throw new CredentialsExpiredException(messages.getMessage("UserDetailsService.credentialsExpired", |
| 39 |
|
"User credentials have expired"), user); |
| 40 |
|
} |
| 41 |
0 |
} |
| 42 |
|
} |