1. Technical Field
The present invention relates generally to an improved data processing system and, in particular, to a method and apparatus for database or file accessing.
2. Description of Related Art
A directory service is a central point where network services, security services and applications can form an integrated distributed computing environment. Typical uses of a directory service may be classified into several categories. A xe2x80x9cnaming servicexe2x80x9d, such as Directory Naming Service (DNS) or Cell Directory Service (CDS), uses the directory as a source to locate an Internet Host address or the location of a given server. A xe2x80x9cuser registryxe2x80x9d, such as Novell Directory Services (NDS), stores information about users in a system comprised of a number of interconnected machines. Still another directory service is a xe2x80x9cwhite pagesxe2x80x9d lookup provided by some mail clients, such as Netscape Communicator or Lotus Notes.
Lightweight Directory Access Protocol (LDAP) is a software protocol for providing directory service enablement to a large number of applications. These applications range from e-mail to distributed system management tools. LDAP is an evolving protocol model based on the client-server model in which a client makes a TCP/IP connection to an LDAP server. LDAP is a xe2x80x9clightweightxe2x80x9d version of DAP (Directory Access Protocol), which is part of X.500, a standard for directory services in a network. More information about LDAP may found in xe2x80x9cLightweight Directory Access Protocol (v3)xe2x80x9d, http://ietf.org/rfc/rfc2251.txt.
The LDAP information model is based on an xe2x80x9centryxe2x80x9d, which contains information about some object. Entries are typically organized in a specified tree structure, and each entry is composed of attributes. LDAP entries are usually arranged in a tree structure that follows a geographical and organizational distribution. Each entry is named according to their position in the hierarchy by a distinguished name (DN). Each component of the distinguished name is called a Relative Distinguished Name (RDN).
An example LDAP directory is organized in a simple tree hierarchy consisting of the following levels:
The xe2x80x9crootxe2x80x9d directory is the starting place or the source of the tree.
Countries are designated by two letter codes, such as US for the United States of America.
Organizations can be private companies, government units, etc.
Organizational units are divisions, departments, etc.
Individuals include people, files, or shared resources, such as printers.
For example, John M. Smith, who is part of the marketing department at Acme Corporation, might have the following Distinguished Name: xe2x80x9ccn=John M. Smith, ou=Marketing, o=ACME Corporation, c=USxe2x80x9d, where xe2x80x9ccnxe2x80x9d stands for xe2x80x9ccommon namexe2x80x9d, xe2x80x9couxe2x80x9d is xe2x80x9corganizational unitxe2x80x9d, xe2x80x9coxe2x80x9d is xe2x80x9corganizationxe2x80x9d, and xe2x80x9ccxe2x80x9d is xe2x80x9ccountryxe2x80x9d.
An LDAP directory can be distributed among many servers, with parts of data residing on a set of machines. Another scenario has each server containing a replicated version of the total directory that is synchronized periodically. An LDAP server is called a Directory System Agent (DSA). An LDAP server that receives a request from a user takes responsibility for the request, passing it to other DSAs as necessary, either through server chaining or client referrals. Both cases ensure a single coordinated response for the user. Although directory structures can reside on a single server, there are several reasons for splitting directories across multiple machines. First, the directory may be too large to make it practical to store on a single server. Second, network administrators may want to keep the physical location of the server close to the expected clients to minimize network traffic.
With an increasing number of applications and system services demanding a central information repository, directory servers can provide system administrators with a data repository that can significantly ease administrative burdens. In the Internet/intranet environment, these services provide user access to information in a secure manner.
To perform operations on directory entries, distinguished names for the directory entries must be specified. However, it is generally difficult to remember full distinguished names. Manually specifying a full distinguished name is time-consuming and error-prone.
For example, in order to connect, i.e. bind, to a directory server, a user needs to specify a distinguished name in order for the bind operation to proceed. Other LDAP operations also require the entry of distinguished names, such as modifying a particular directory entry. In some circumstances, the user may not know the distinguished name of a directory entry on which the user desires to perform an operation, although the user might be able to discern a desired distinguished name from a set of distinguished names if the user could be presented with the ability to choose a particular distinguished name from a set of distinguished names.
Therefore, it would be advantageous to have an improved method and system for specifying distinguished names.
A method and system for an automated distinguished name lookup is provided for use in a Lightweight Directory Access Protocol (LDAP) directory operation. A user provides input via a dialog window for an identifier string which is not a distinguished name. An LDAP search filter string is generated that contains at least a portion of the identifier string. A directory search is requested using the LDAP search filter string. In response to the requested directory search, one or more distinguished names are received. In response to receiving a single distinguished name for the requested directory search, the received distinguished name is automatically applied in the LDAP directory operation. In response to receiving a plurality of distinguished names for the requested directory search, the plurality of distinguished names are presented to the user, and the user may select one of the plurality of distinguished names. The selected distinguished name is then applied in the LDAP directory operation, which may perform an authentication process for the user using a distinguished name received in response to the requested directory search. The user may also configure a dialog window for entry attributes and filters to be used while searching for potential distinguished names.