CASE #1
PeopleSoft deliveres a function LDAP_AUTHENTICATION() to authenticate PeopleSoft users with Active Directory credentials.
It is designed to be case isensitive, but all users must be created upper case:
- DANIEL.CRAIG in PeopleSoft
- any case in Active Directory. Daniel.Craig or daniel.craig or DANIEL.CRAIG will work
CASE #2
You may want to create users lower case in PeopleSoft? then you just need basic code change to make it possible:
- daniel.craig in PeopleSoft
- any case in Active Directory. Daniel.Craig or daniel.craig or DANIEL.CRAIG will work
CASE #3
You may want users to be case sensitive between PeopleSoft and Active Directory ? This is also possible with basic code change:
- daniel.craig in PeopleSoft
- only authenticated with daniel.craig in Active Directory
CASE #4
You don't have much control in users provisioning in PeopleSoft or Active Directory ... or both ?
1.1 search for this line: &USER_PROFILE.UserID = Upper(&prflProps.GetByPropertyName("UserID").value);
1.2 and replace it With: &USER_PROFILE.UserID = &prflProps.GetByPropertyName("UserID").value;
2.1 search for this line: SetAuthenticationResult( True, Upper(&psUserId), "", False);
2.2 and replace it with: SetAuthenticationResult( True, &psUserId, "", False);
With this setup you are configured like CASE #3 but you need an extra step.
3.1 Add the following line before this line: SetAuthenticationResult( True, &psUserId, "", False);
SQLExec("select OPRID from PSOPRDEFN where lower(OPRID) = :1", Lower(&psUserId), &psUserId);
You can now have mixed authentication cases like:
- daniel.craig in PeopleSoft
- and Daniel.Craig in Active Directory
and
- Tony.Stark in PeopleSoft
- and tony.stark in Active Directory