There is no problem with auth. It works quite well. The real problem is
autz.
When I'm generating 'modify user preferences' dialog on front-end
I want to include 'Change passoword' button if and only if a user can change that password.
And how can I know if user 'foo' can change password for user 'bar'? User foo is maybe an admin, and he can.
But application does not know this and does not know whether to display 'change password' button or not.
The only how to resolve it is to change a password, and I definitely do not want to do this in dialog generation (not dialog processing) phase.
Overhead. Imagine Customer object in LDAP. There are billing information,
sales information, and admin information in this single object.
I want different users to have access to different parts of this object. I want to display changable fields as real inputs and read-only
fields as normal non-editable text. If I would try to change every possible attribute in LDAP prior to
displaying a simple HTML INPUT, it will take years to complete a single request.
(Remember, LDAP is read optimized, writes are sloooow).