package edu.hawaii.its.hudson.security; import org.acegisecurity.Authentication; import org.acegisecurity.GrantedAuthority; import org.acegisecurity.GrantedAuthorityImpl; import java.util.Collection; /** * Adapter to Hudson uses Acegi API. */ public class Cas1Authentication implements Authentication { private final String username; private final GrantedAuthority[] authorities; public Cas1Authentication(String username, Collection roles) { this.username = username; authorities = new GrantedAuthority[roles.size()]; int i = 0; for (Object role : roles) { authorities[i++] = new GrantedAuthorityImpl(role.toString()); } } public GrantedAuthority[] getAuthorities() { return authorities; } public Object getCredentials() { return null; // not needed by Hudson, right? } public Object getDetails() { return null; // not needed by Hudson, right? } public Object getPrincipal() { return username; } public boolean isAuthenticated() { return true; } public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException { // do nothing } public String getName() { return username; } }