X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FAuthenticatingUser.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FAuthenticatingUser.java;h=0000000000000000000000000000000000000000;hb=a5459b7f0a4ce0463b950efd5c776368fe169256;hp=9df88a064279b59e8cc7a2e7611c027290ed6489;hpb=6ecc30c54a64fb658aa7949349b05d655ff386a8;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/auth/AuthenticatingUser.java b/org.argeo.cms/src/org/argeo/cms/auth/AuthenticatingUser.java deleted file mode 100644 index 9df88a064..000000000 --- a/org.argeo.cms/src/org/argeo/cms/auth/AuthenticatingUser.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.argeo.cms.auth; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.util.Arrays; -import java.util.Dictionary; -import java.util.Hashtable; - -import javax.naming.ldap.LdapName; - -import org.osgi.service.useradmin.User; - -/** - * A special user type used during authentication in order to provide the - * credentials required for scoping the user admin. - */ -class AuthenticatingUser implements User { - private final String name; - private final Dictionary credentials; - - public AuthenticatingUser(LdapName name) { - this.name = name.toString(); - this.credentials = new Hashtable<>(); - } - - public AuthenticatingUser(String name, Dictionary credentials) { - this.name = name; - this.credentials = credentials; - } - - public AuthenticatingUser(String name, char[] password) { - this.name = name; - credentials = new Hashtable<>(); - credentials.put(CmsAuthUtils.SHARED_STATE_NAME, name); - byte[] pwd = charsToBytes(password); - credentials.put(CmsAuthUtils.SHARED_STATE_PWD, pwd); - } - - @Override - public String getName() { - return name; - } - - @Override - public int getType() { - return User.USER; - } - - @SuppressWarnings("rawtypes") - @Override - public Dictionary getProperties() { - throw new UnsupportedOperationException(); - } - - @SuppressWarnings("rawtypes") - @Override - public Dictionary getCredentials() { - return credentials; - } - - @Override - public boolean hasCredential(String key, Object value) { - throw new UnsupportedOperationException(); - } - - - static byte[] charsToBytes(char[] chars) { - CharBuffer charBuffer = CharBuffer.wrap(chars); - ByteBuffer byteBuffer = Charset.forName("UTF-8").encode(charBuffer); - byte[] bytes = Arrays.copyOfRange(byteBuffer.array(), byteBuffer.position(), byteBuffer.limit()); - Arrays.fill(charBuffer.array(), '\u0000'); // clear sensitive data - Arrays.fill(byteBuffer.array(), (byte) 0); // clear sensitive data - return bytes; - } - - static char[] bytesToChars(byte[] bytes) { - ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); - CharBuffer charBuffer = Charset.forName("UTF-8").decode(byteBuffer); - char[] chars = Arrays.copyOfRange(charBuffer.array(), charBuffer.position(), charBuffer.limit()); - Arrays.fill(charBuffer.array(), '\u0000'); // clear sensitive data - Arrays.fill(byteBuffer.array(), (byte) 0); // clear sensitive data - return chars; - } - - -}