Bug 12226 - A user with the database username/userid can access staff with full permi...
authorBernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Mon, 16 Jun 2014 16:42:26 +0000 (13:42 -0300)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Sat, 21 Jun 2014 00:13:10 +0000 (21:13 -0300)
commitcb878c35a1a3d5e57cf6996732f849e738ba26ad
treeade36a716657d646fe65c58f6f458c74ea5b72ce
parent58766535b4e712e2164f0da5ecc5aab706b9f49a
Bug 12226 - A user with the database username/userid can access staff with full permissions

This patch implements 2 suggestions on comment #3

- Prevents creation of a new user with same userid
of database user

- When checking password, if userid matches database user,
only check against pass on config file

To test:
1. Create a new user with same login as database user
any password different from real db user
2. Check that you can login on staff using this user/pass
and you are superlibrarian

3. Apply the patch

4. Login again using new pass, it must fail
5. Login again using db pass, you are now superuser,
but system does not warn you :( No problem, that's
for having one borrower with that login
6. Delete user with same login as db user
7. Try to create one again as in 1, system must return
an error of duplicate login!

8. Check for no regressions on user/pass authentication

Resubmited, has an error

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
This works nicely and as described.
Also editing the former 'superuser' will force you to
change the userid in order to save any other change.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
C4/Auth.pm
C4/Members.pm