Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

jsd.ftp.server.ftp.usermanager
Class LdapUserManager  view LdapUserManager download LdapUserManager.java

java.lang.Object
  extended byjsd.ftp.server.ftp.usermanager.UserManager
      extended byjsd.ftp.server.ftp.usermanager.LdapUserManager

public class LdapUserManager
extends UserManager

Ldap based user manager class. Tested using Netscape Directory Server 4.1. The LDAP requires the password to be nonempty for simple authentication. So instead of using empty string password (""), we will be using single space (" ").


Field Summary
private static java.lang.String[] ALL_ATTRS
           
private static java.lang.String CN
           
private static java.lang.String DOWN_RATE
           
private static java.lang.String ENABLE
           
private static java.lang.String IDLE_TIME
           
private static java.lang.String LOGIN
           
private  javax.naming.directory.DirContext mAdminContext
           
private  java.util.Properties mAdminEnv
           
private  java.lang.String mstLdapRoot
           
private static java.lang.String OBJ_CLASS
           
private static javax.naming.directory.Attribute OBJCLASS_ATTR
           
private static java.lang.String PASSWORD
           
private static java.lang.String ROOT_DIR
           
private static java.lang.String SN
           
private static java.lang.String UID
           
private static java.lang.String UP_RATE
           
private static java.lang.String WRITE_PERM
           
 
Fields inherited from class jsd.ftp.server.ftp.usermanager.UserManager
mConfig, mstAdminName
 
Constructor Summary
LdapUserManager(jsd.ftp.server.ftp.FtpConfig cfg)
          Instantiate UserManager implementation.
 
Method Summary
private  void add(User user)
          Add a new user
 boolean authenticate(java.lang.String name, java.lang.String password)
          User authentication.
 void delete(java.lang.String userName)
          Delete user
 void dispose()
          Close user manager
 boolean doesExist(java.lang.String name)
          User existance check
 java.util.Collection getAllUserNames()
          Get all user names
private  java.lang.String getCommonName(java.lang.String login)
          Get common name
 User getUserByName(java.lang.String name)
          Get user object.
 void save(User user)
          Save user
private  void update(User user)
          Update an existing user
 
Methods inherited from class jsd.ftp.server.ftp.usermanager.UserManager
getAdminName, getConfig, reload
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGIN

private static final java.lang.String LOGIN
See Also:
Constant Field Values

UID

private static final java.lang.String UID
See Also:
Constant Field Values

CN

private static final java.lang.String CN
See Also:
Constant Field Values

SN

private static final java.lang.String SN
See Also:
Constant Field Values

PASSWORD

private static final java.lang.String PASSWORD
See Also:
Constant Field Values

OBJ_CLASS

private static final java.lang.String OBJ_CLASS
See Also:
Constant Field Values

ENABLE

private static final java.lang.String ENABLE
See Also:
Constant Field Values

ROOT_DIR

private static final java.lang.String ROOT_DIR
See Also:
Constant Field Values

WRITE_PERM

private static final java.lang.String WRITE_PERM
See Also:
Constant Field Values

IDLE_TIME

private static final java.lang.String IDLE_TIME
See Also:
Constant Field Values

UP_RATE

private static final java.lang.String UP_RATE
See Also:
Constant Field Values

DOWN_RATE

private static final java.lang.String DOWN_RATE
See Also:
Constant Field Values

ALL_ATTRS

private static final java.lang.String[] ALL_ATTRS

OBJCLASS_ATTR

private static final javax.naming.directory.Attribute OBJCLASS_ATTR

mAdminContext

private javax.naming.directory.DirContext mAdminContext

mAdminEnv

private java.util.Properties mAdminEnv

mstLdapRoot

private java.lang.String mstLdapRoot
Constructor Detail

LdapUserManager

public LdapUserManager(jsd.ftp.server.ftp.FtpConfig cfg)
                throws java.lang.Exception
Instantiate UserManager implementation. Open LDAP connection pool.

Method Detail

getCommonName

private java.lang.String getCommonName(java.lang.String login)
                                throws javax.naming.NamingException
Get common name


getAllUserNames

public java.util.Collection getAllUserNames()
Get all user names

Specified by:
getAllUserNames in class UserManager

getUserByName

public User getUserByName(java.lang.String name)
Get user object.

Specified by:
getUserByName in class UserManager

authenticate

public boolean authenticate(java.lang.String name,
                            java.lang.String password)
User authentication.

Specified by:
authenticate in class UserManager

save

public void save(User user)
          throws javax.naming.NamingException
Save user

Specified by:
save in class UserManager

add

private void add(User user)
          throws javax.naming.NamingException
Add a new user


update

private void update(User user)
             throws javax.naming.NamingException
Update an existing user


doesExist

public boolean doesExist(java.lang.String name)
User existance check

Specified by:
doesExist in class UserManager

delete

public void delete(java.lang.String userName)
            throws javax.naming.NamingException
Delete user

Specified by:
delete in class UserManager

dispose

public void dispose()
Close user manager

Overrides:
dispose in class UserManager