I started by just putting the following in the httpd config:

  SetEnv USER sebb

To change the user, edit the file and restart the server.

[Note: I disabled the modLDAP section]

It's not entirely convenient for multiple user testing, but great for
most testing as no password is needed.

However it can lead to some inconsistencies because parts of the code
use USER + LDAP group membership to determine karma, and parts use
HTTP_AUTHORIZATION with LDAP bind to check if the user is valid. For
example, roster/committee/whimsy shows the Add/Modify buttons but the
underlying code (committee.json.rb) skips any changes because
env.password is not set.

==

One possible way to test with different users is to change the local
httpd config to use a local password file.

For example:

<Directory /srv/whimsy/www/>
 AuthType Basic
 AuthName "ASF Committers (local)"
 AuthBasicProvider file
 AuthUserFile "/etc/apache2/sebb/passwords"
 Require valid-user
 Require all granted
</Directory>

The passwords file can be set up with dummy passwords for various
different classes of user.
e.g. I use sebb, testsebb etc.

See
https://httpd.apache.org/docs/2.4/programs/htpasswd.html

This works OK for me.

One disadvantage however is that this will set up HTTP_AUTHORIZATION
using the dummy password. This then is used for LDAP bind etc. So you
may find that repeated use will cause the account to be locked.

==

I think it would be useful to have a way to skip bind if the
appropriate variable is set.
Perhaps co-opt RACK_ENV?
But it might be better to have an independent variable.

For disabling svn updates, I use the following script:

/usr/local/over/svn
if [ "$1" == 'info' ]
then
  /usr/local/bin/svn "$@"
elif [ "$1" == 'cat' ]
then
  /usr/local/bin/svn "$@"
else
  echo Would1: svn "$@"
  echo Would2: svn "$@" >&2
fi

which is added to the front of the path:

# Add overrides, e.g. to stop SVN being used
SetEnv PATH /usr/local/over:/usr/local/bin:${PATH}

Reply via email to