SEC-252: Stop NPE if principal object is null.

This commit is contained in:
Ben Alex 2006-04-26 03:00:14 +00:00
parent fba45cb19e
commit de4af379cc
1 changed files with 8 additions and 6 deletions

View File

@ -141,30 +141,32 @@ public abstract class AbstractAuthenticationToken implements Authentication {
return ((UserDetails) this.getPrincipal()).getUsername();
}
return this.getPrincipal().toString();
return (this.getPrincipal() == null) ? "" : this.getPrincipal()
.toString();
}
public int hashCode() {
int code = 31;
// Copy authorities to local variable for performance (SEC-223)
GrantedAuthority[] authorities = this.getAuthorities();
if (authorities != null) {
for (int i = 0; i < authorities.length; i++) {
code ^= authorities[i].hashCode();
code ^= authorities[i].hashCode();
}
}
if (this.getPrincipal() != null) {
code ^= this.getPrincipal().hashCode();
code ^= this.getPrincipal().hashCode();
}
if (this.getCredentials() != null) {
code ^= this.getCredentials().hashCode();
code ^= this.getCredentials().hashCode();
}
if (this.getDetails() != null) {
code ^= this.getDetails().hashCode();
code ^= this.getDetails().hashCode();
}
if (this.isAuthenticated()) {