I'm trying to use Penrose with a custom adapter as an authentication service, and our backend has several diagnostic error messages (incorrect password, password expired, password locked, etc) that correspond to the INVALID_CREDENTIALS (49) error condition on a bind. I need to get those messages into the LDAPResult so that clients can forward them, similar in the way (I think) Active Directory and Oracle Directory Server handle password problems. The Adapter interface only allows me to return a return code (which would be LDAPException.INVALID_CREDENTIALS), but nothing else. I tried throwing an LDAPException from within my custom adapter and put the extra information there, but it doesn't seem to make it into the LDAP response prsented to the client. Is there any way to do this, or something similar, or do I have to rely on custom status codes? Additional Comments From endisd dated Tue Mar 20 14:55:12 CDT 2007 The Adapter interface has been changed to allow throwing exceptions. ========================================================= Issue dump from jira $VAR1 = { 'priority' => '4', 'customFieldValues' => [], 'project' => 'PENROSE', 'status' => '5', 'components' => [ { 'name' => 'Adapter', 'id' => '10011' } ], 'reporter' => 'jimyang', 'key' => 'PENROSE-198', 'assignee' => 'endisd', 'summary' => 'Adding additional LDAP Error information in a Custom adapter', 'id' => '10600', 'updated' => '2007-03-23 19:35:15.0', 'votes' => '0', 'fixVersions' => [ { 'releaseDate' => '2007-05-18 00:00:00.0', 'sequence' => '22', 'name' => 'Penrose-1.2', 'released' => 'true', 'id' => '10088', 'archived' => 'false' } ], 'affectsVersions' => [], 'description' => 'I'm trying to use Penrose with a custom adapter as an authentication service, and our backend has several diagnostic error messages (incorrect password, password expired, password locked, etc) that correspond to the INVALID_CREDENTIALS (49) error condition on a bind. I need to get those messages into the LDAPResult so that clients can forward them, similar in the way (I think) Active Directory and Oracle Directory Server handle password problems. The Adapter interface only allows me to return a return code (which would be LDAPException.INVALID_CREDENTIALS), but nothing else. I tried throwing an LDAPException from within my custom adapter and put the extra information there, but it doesn't seem to make it into the LDAP response prsented to the client. Is there any way to do this, or something similar, or do I have to rely on custom status codes?', 'created' => '2007-01-09 08:22:27.0', 'resolution' => '1', 'type' => '4' }; =========================================================
Marking bug as MODIFIED as it was already resolved in Jira - PENROSE-198