X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fsrc%2Forg%2Fargeo%2Fsecurity%2FOsAuthenticationToken.java;fp=org.argeo.security.core%2Fsrc%2Forg%2Fargeo%2Fsecurity%2FOsAuthenticationToken.java;h=03d33f6cf9fad38dcbbc2e59e1631d9ca466766a;hb=b3b39d5606a0c48d64a804f4aff5459ea3addc31;hp=b3727b26f0a7ee2a51ce2c87d0c820821d6a7656;hpb=5ae7bd094c6b8a2f9c0b6b3460b5abe6fe0b7fff;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.core/src/org/argeo/security/OsAuthenticationToken.java b/org.argeo.security.core/src/org/argeo/security/OsAuthenticationToken.java index b3727b26f..03d33f6cf 100644 --- a/org.argeo.security.core/src/org/argeo/security/OsAuthenticationToken.java +++ b/org.argeo.security.core/src/org/argeo/security/OsAuthenticationToken.java @@ -18,7 +18,7 @@ package org.argeo.security; import java.security.AccessController; import java.security.Principal; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Set; @@ -26,10 +26,10 @@ import javax.security.auth.Subject; import org.argeo.ArgeoException; import org.argeo.OperatingSystem; -import org.springframework.security.Authentication; -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; -import org.springframework.security.userdetails.UserDetails; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; /** Abstracts principals provided by com.sun.security.auth.module login modules. */ public class OsAuthenticationToken implements Authentication { @@ -44,9 +44,9 @@ public class OsAuthenticationToken implements Authentication { private UserDetails details; /** Request */ - public OsAuthenticationToken(GrantedAuthority[] grantedAuthorities) { - this.grantedAuthorities = grantedAuthorities != null ? Arrays - .asList(grantedAuthorities) : null; + public OsAuthenticationToken( + Collection authorities) { + this.grantedAuthorities = new ArrayList(authorities); ClassLoader cl = getClass().getClassLoader(); switch (OperatingSystem.os) { case OperatingSystem.WINDOWS: @@ -98,15 +98,15 @@ public class OsAuthenticationToken implements Authentication { * Should not be called during authentication since group IDs are not yet * available {@link Subject} has been set */ - public GrantedAuthority[] getAuthorities() { + public Collection getAuthorities() { // grantedAuthorities should not be null at this stage List gas = new ArrayList( grantedAuthorities); for (Principal groupPrincipal : getGroupsIds()) { - gas.add(new GrantedAuthorityImpl("OSGROUP_" + gas.add(new SimpleGrantedAuthority("OSGROUP_" + groupPrincipal.getName())); } - return gas.toArray(new GrantedAuthority[gas.size()]); + return gas; } public UserDetails getDetails() {