package org.fluxtream.core.auth; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.fluxtream.core.domain.TrustedBuddy; import org.fluxtream.core.domain.Guest; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @SuppressWarnings("serial") public class FlxUserDetails implements UserDetails, Serializable { private Guest guest; public long guestId; public FlxUserDetails(Guest guest) { this.guest = guest; this.guestId = guest.getId(); } public Guest getGuest() { return this.guest; } public boolean isEnabled() { return true; } public boolean isCredentialsNonExpired() { return true; } public boolean isAccountNonLocked() { return true; } public boolean isAccountNonExpired() { return true; } public String getUsername() { return guest!=null?guest.username:null; } public String getSalt() { return guest!=null?guest.salt:null; } public String getPassword() { return guest!=null?guest.password:null; } public Collection<GrantedAuthority> getAuthorities() { Collection<GrantedAuthority> result = new ArrayList<GrantedAuthority>(); List<String> userRoles = guest.getUserRoles(); for (String userRole : userRoles) result.add(new SimpleGrantedAuthority(userRole)); return result; } }