update link to plugin
[ikiwiki] / doc / todo / htpasswd_mirror_of_the_userdb.mdwn
1 [[!tag wishlist]]
2
3 Ikiwiki is static, so access control for viewing the wiki must be
4 implemented on the web server side. Managing wiki users and access
5 together, we can currently
6
7 * use [[httpauth|plugins/httpauth/]], but some [[passwordauth|plugins/passwordauth]] functionnality [[is missing|todo/httpauth_feature_parity_with_passwordauth/]];
8 * use [[passwordauth|plugins/passwordauth]] plus [[an Apache `mod_perl` authentication mechanism|plugins/passwordauth/discussion/]], but this is Apache-centric and enabling `mod_perl` just for auth seems overkill.
9
10 Moreover, when ikiwiki is just a part of a wider web project, we may want
11 to use the same userdb for the other parts of this project.
12
13 I think an ikiwiki plugin which would (re)generate an htpasswd version of
14 the user/passwd base (better, two htpasswd files, one with only the wiki
15 admins and one with everyone) each time an user is added or modified would
16 solve this problem:
17
18 * access control can be managed from the web server
19 * user management is handled by the passwordauth plugin
20 * htpasswd format is understood by various servers (Apache, lighttpd, nginx, ...) and languages commonly used for web development (perl, python, ruby)
21 * htpasswd files can be mirrored on other machines when the web site is distributed
22
23 -- [[nil]] 
24
25 > I think this is a good idea. Although unless the password hashes that
26 > are stored in the userdb are compatible with htpasswd hashes, 
27 > the htpasswd hashes will need to be stored in the userdb too. Then
28 > any userdb change can just regenerate the htpasswd file, dumping out
29 > the right kind of hashes. --[[Joey]]