|
@@ -29,9 +29,6 @@ import org.springframework.util.Assert;
|
|
|
* a <code>String</code>). Developers may use this class directly, subclass
|
|
|
* it, or write their own {@link UserDetails} implementation from scratch.
|
|
|
* </p>
|
|
|
- *
|
|
|
- * @author Ben Alex
|
|
|
- * @version $Id$
|
|
|
*/
|
|
|
public class User implements UserDetails {
|
|
|
//~ Instance fields ========================================================
|
|
@@ -46,6 +43,10 @@ public class User implements UserDetails {
|
|
|
|
|
|
//~ Constructors ===========================================================
|
|
|
|
|
|
+ protected User() {
|
|
|
+ throw new IllegalArgumentException("Cannot use default constructor");
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Construct the <code>User</code> with the details required by {@link
|
|
|
* DaoAuthenticationProvider}.
|
|
@@ -129,61 +130,22 @@ public class User implements UserDetails {
|
|
|
boolean accountNonExpired, boolean credentialsNonExpired,
|
|
|
boolean accountNonLocked, GrantedAuthority[] authorities)
|
|
|
throws IllegalArgumentException {
|
|
|
- if (((username == null) || "".equals(username)) || (password == null)
|
|
|
- || (authorities == null)) {
|
|
|
+ if (((username == null) || "".equals(username)) || (password == null)) {
|
|
|
throw new IllegalArgumentException(
|
|
|
"Cannot pass null or empty values to constructor");
|
|
|
}
|
|
|
|
|
|
- for (int i = 0; i < authorities.length; i++) {
|
|
|
- Assert.notNull(authorities[i],
|
|
|
- "Granted authority element " + i
|
|
|
- + " is null - GrantedAuthority[] cannot contain any null elements");
|
|
|
- }
|
|
|
-
|
|
|
this.username = username;
|
|
|
this.password = password;
|
|
|
this.enabled = enabled;
|
|
|
- this.authorities = authorities;
|
|
|
this.accountNonExpired = accountNonExpired;
|
|
|
this.credentialsNonExpired = credentialsNonExpired;
|
|
|
this.accountNonLocked = accountNonLocked;
|
|
|
- }
|
|
|
-
|
|
|
- protected User() {
|
|
|
- throw new IllegalArgumentException("Cannot use default constructor");
|
|
|
+ setAuthorities(authorities);
|
|
|
}
|
|
|
|
|
|
//~ Methods ================================================================
|
|
|
|
|
|
- public boolean isAccountNonExpired() {
|
|
|
- return accountNonExpired;
|
|
|
- }
|
|
|
-
|
|
|
- public boolean isAccountNonLocked() {
|
|
|
- return this.accountNonLocked;
|
|
|
- }
|
|
|
-
|
|
|
- public GrantedAuthority[] getAuthorities() {
|
|
|
- return authorities;
|
|
|
- }
|
|
|
-
|
|
|
- public boolean isCredentialsNonExpired() {
|
|
|
- return credentialsNonExpired;
|
|
|
- }
|
|
|
-
|
|
|
- public boolean isEnabled() {
|
|
|
- return enabled;
|
|
|
- }
|
|
|
-
|
|
|
- public String getPassword() {
|
|
|
- return password;
|
|
|
- }
|
|
|
-
|
|
|
- public String getUsername() {
|
|
|
- return username;
|
|
|
- }
|
|
|
-
|
|
|
public boolean equals(Object rhs) {
|
|
|
if (!(rhs instanceof User) || (rhs == null)) {
|
|
|
return false;
|
|
@@ -211,6 +173,46 @@ public class User implements UserDetails {
|
|
|
&& (this.isEnabled() == user.isEnabled()));
|
|
|
}
|
|
|
|
|
|
+ public GrantedAuthority[] getAuthorities() {
|
|
|
+ return authorities;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getPassword() {
|
|
|
+ return password;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getUsername() {
|
|
|
+ return username;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isAccountNonExpired() {
|
|
|
+ return accountNonExpired;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isAccountNonLocked() {
|
|
|
+ return this.accountNonLocked;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isCredentialsNonExpired() {
|
|
|
+ return credentialsNonExpired;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isEnabled() {
|
|
|
+ return enabled;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected void setAuthorities(GrantedAuthority[] authorities) {
|
|
|
+ Assert.notNull(authorities, "Cannot pass a null GrantedAuthority array");
|
|
|
+
|
|
|
+ for (int i = 0; i < authorities.length; i++) {
|
|
|
+ Assert.notNull(authorities[i],
|
|
|
+ "Granted authority element " + i
|
|
|
+ + " is null - GrantedAuthority[] cannot contain any null elements");
|
|
|
+ }
|
|
|
+
|
|
|
+ this.authorities = authorities;
|
|
|
+ }
|
|
|
+
|
|
|
public String toString() {
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
sb.append(super.toString() + ": ");
|