wt.org.electronicIdentity.engines
Class LDAPPasswordSignatureEngine

java.lang.Object
  extended bywt.org.electronicIdentity.engines.LDAPPasswordSignatureEngine
All Implemented Interfaces:
SignatureEngine

public class LDAPPasswordSignatureEngine
extends Object
implements SignatureEngine

A signature engine which requires a password to be supplied. It verifies that the password belongs to the currently logged in user. An LDAP-based directory service is used for authentication.

Note: the electronic signature feature is only supported when user authentication is done using an LDAP-based directory service. If a site is using a flat file or some other means of authentication, then they must provide their own signature engine implementation.

The wt.federation.org.directoryService property lists the names of the Info*Engine JNDI adapters that windchill uses to query one or more LDAP-based directory services for principals. The same services will be used for user authentication of electronic signatures. The following property is only needed in the wt.properties file if the LDAP-based directory service used for authentication is not one of the services identified by the wt.federation.org.directoryServices property.


Supported API: true

Extendable: true

See Also:
SignatureEngine

Field Summary
private static String configuredService
           
private static String EI_RB
           
private static String ENGINES_RB
           
private static String ORG_RB
           
private static String PASSWORD_FIELD
           
private static boolean verbose
           
 
Constructor Summary
LDAPPasswordSignatureEngine()
           
 
Method Summary
private  String getDn(String userName, String service)
           
 SigVariableInfo[] getVariableInfo()
          Get array of variables needed to validate a signature instance.
static void main(String[] args)
          Simple test wrapper
private  void validateSig(String service, String userDn, String userCredentials)
           
 void validateSig(WTPrincipalReference principal, Properties properties)
          Check if signature as defined by variables is valid for the given user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configuredService

private static String configuredService

verbose

private static boolean verbose

PASSWORD_FIELD

private static String PASSWORD_FIELD

EI_RB

private static String EI_RB

ENGINES_RB

private static String ENGINES_RB

ORG_RB

private static String ORG_RB
Constructor Detail

LDAPPasswordSignatureEngine

public LDAPPasswordSignatureEngine()
Method Detail

getVariableInfo

public SigVariableInfo[] getVariableInfo()
Description copied from interface: SignatureEngine
Get array of variables needed to validate a signature instance. Typically used in generating user interfaces for users to submit information to validate their identity for sake of applying a signature.

Specified by:
getVariableInfo in interface SignatureEngine
Returns:
array of SigVariableInfo populated with user interface fields

validateSig

public void validateSig(WTPrincipalReference principal,
                        Properties properties)
                 throws SignatureInvalidException
Description copied from interface: SignatureEngine
Check if signature as defined by variables is valid for the given user.

Specified by:
validateSig in interface SignatureEngine
Parameters:
principal - user which the signature is being validated
properties - a property sheet with attributes needed for signature. Typically a cgi form data object which contains values from user for the SigVariableInfo objects displayed in user interface.
Throws:
SignatureInvalidException - when the variables are valid for a given user

validateSig

private void validateSig(String service,
                         String userDn,
                         String userCredentials)
                  throws SignatureInvalidException
Throws:
SignatureInvalidException

getDn

private String getDn(String userName,
                     String service)
              throws SignatureInvalidException
Throws:
SignatureInvalidException

main

public static void main(String[] args)
Simple test wrapper