Parameter tokens are intended to be interpreted by the connections
stored within LDAP. This was previously done through explicitly using a
TokenFilter and the StandardTokens class, however usage of
StandardTokens is now deprecated and the values of tokens to be applied
are now expected to be received through connect(). Usage of
StandardTokens was removed from LDAP with commit 1210d56, but this is
insufficient. An additional parameter must also be provided to the
SimpleConnection constructor to enable its automatic token handling
behavior.
Internet Explorer 11 interprets the "disabled" attribute on all HTML
elements, even unknown elements like AngularJS directives, disabling any
input fields that end up on the DOM tree within those elements. This
breaks the login form.
The alternative "data-disabled" attribute form supported by AngularJS
allows things to work without interference.
Placing the fade animation on the login dialog (which also handles the
error shake-head animation) results in the dialog fading in each time
the login process changes state. It really should only fade when the
overall login interface initially appears.
IE 11 appears to ignore the `Cache-Control` header on requests despite
RFC 7234 and does not invalidate cache after changes are made to a
resource via PUT/DELETE/POST despite RFC 2616. It _does_ behave
correctly when the `Pragma` header is included.
This behavior is not observed for Chrome/Firefox which both correctly
honor the `Cache-Control` header and correctly invalidate cache after
changes.
While this query is generally functioning as described above for all
supported databases, it is not functioning properly for the
non-recursive variant of the MySQL/MariaDB query. This change corrects
that behavior.
Earlier changes incorrectly populated this query parameter with the literal name of a variable, "clientID", rather than the contents of that variable. The changes merged here correct this.
The database authentication backend relies on the existence of a user object for processing permissions. With the addition of user group support, this is no longer sufficient, as a user may not exist in the database yet still have permissions effectively granted to them via the database due to their group memberships dictated elsewhere. Creating an in-memory skeleton user allows this processing to proceed.