X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fsrc%2Forg%2Fargeo%2Fsecurity%2FOsAuthenticationToken.java;h=5b71394dd38dd4e1732267d1d4ae87c71bdaad0b;hb=50911fdcc6df5cd35e71a0a4ecddf03f98f742a2;hp=b3727b26f0a7ee2a51ce2c87d0c820821d6a7656;hpb=10ed6557c631d5feee8541badd0c9f16a9e791c6;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..5b71394dd 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: @@ -83,7 +83,7 @@ public class OsAuthenticationToken implements Authentication { /** Authenticated */ public OsAuthenticationToken() { - this(null); + this(new ArrayList()); } /** @return the name, or null if not yet logged */ @@ -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() {