]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.enterprise/src/org/argeo/osgi/useradmin/AuthenticatingUser.java
6bf1441b504fa5c9671d84818beeb42379601783
1 package org
.argeo
.osgi
.useradmin
;
3 import java
.util
.Dictionary
;
4 import java
.util
.Hashtable
;
6 import javax
.naming
.ldap
.LdapName
;
8 import org
.osgi
.service
.useradmin
.User
;
11 * A special user type used during authentication in order to provide the
12 * credentials required for scoping the user admin.
14 public class AuthenticatingUser
implements User
{
15 /** From com.sun.security.auth.module.*LoginModule */
16 public final static String SHARED_STATE_NAME
= "javax.security.auth.login.name";
17 /** From com.sun.security.auth.module.*LoginModule */
18 public final static String SHARED_STATE_PWD
= "javax.security.auth.login.password";
20 private final String name
;
21 private final Dictionary
<String
, Object
> credentials
;
23 public AuthenticatingUser(LdapName name
) {
24 this.name
= name
.toString();
25 this.credentials
= new Hashtable
<>();
28 public AuthenticatingUser(String name
, Dictionary
<String
, Object
> credentials
) {
30 this.credentials
= credentials
;
33 public AuthenticatingUser(String name
, char[] password
) {
35 credentials
= new Hashtable
<>();
36 credentials
.put(SHARED_STATE_NAME
, name
);
37 byte[] pwd
= DigestUtils
.charsToBytes(password
);
38 credentials
.put(SHARED_STATE_PWD
, pwd
);
42 public String
getName() {
47 public int getType() {
51 @SuppressWarnings("rawtypes")
53 public Dictionary
getProperties() {
54 throw new UnsupportedOperationException();
57 @SuppressWarnings("rawtypes")
59 public Dictionary
getCredentials() {
64 public boolean hasCredential(String key
, Object value
) {
65 throw new UnsupportedOperationException();