Thanks, Geert.
I found a simple way forward by moving outside of Trac to Apache, since the
authentication method I am using actually belongs to Apache.
The starting point is here http://www.perlmonks.org/?node_id=178482.
Many thanks to greenFox.
I made 3 modifications. First, I changed the value of my %settings
(htpasswd) to the specific name of the project's password file.
Second, instead of using
$settings{user} = $ENV{REMOTE_USER};
I created a new field "user_id" and used $data{user_id} instead in the rest
of the script. This means that the user does not have to be logged in to
use the script -- all data used by the script comes directly from the user
interacting with the script. (I was forced this way by my inability to run
this script from a logged-in Trac session. The failure mode was kind of
funny to see.)
Third, I was able to make the CGI textfield not "sticky" without putting
debris into the user_id textfield by adding "-override => 1" to the
"old_passwd" cgi->password_field and changing the -value => '' (meaning
empty string) to 'Password', which means that the user_id and old_passwd
are cleared every time the form is displayed to the user. Someone using
that PC and browser later is not rewarded with any information from the
last use of the form.
Other than enabling CGI, all I had to do was download and install
Crypt-PasswdMD5 and Apache-Htpasswd.
I do not normally program in Perl, but I was able to look up everything and
get this working in an afternoon.
Hope this helps someone else.
Bill
On Friday, November 11, 2016 at 5:41:07 PM UTC-5, Geert Linders wrote:
>
> Hi William,
>
> Trac has support for LDAP.
>
> We used the account manager before, but switched to LDAP so people only
> have to change their password in one location and we can uniquely identify
> each user based on their LDAP account.
>
>
> Cheers - Geert
>
> On Thursday, November 3, 2016 at 7:28:30 AM UTC+13, William Chappell wrote:
>>
>> I am successfully running multiple independent projects (environments)
>> using Ubuntu 16.04, apache2, and Trac 1.0.13, using mod_python, Virtual
>> Hosts, and separate htpasswd files.
>> What does not work for me is to use TracAccountManager to allow users to
>> change their own passwords. The best that I could get is that the first
>> project I enabled has full function and I must totally excise all reference
>> to and the egg for TracAccountManager from the other projects and
>> specifically enable the loginmodule in those other projects to even allow
>> logins. However, I cannot edit and save pages in those other projects.
>> When I move TracAccountManager to a different project, then I cannot edit
>> and save pages in the first project, only in the project with access to
>> TracAccountManager, _but_ the Account tab does not show up in the second
>> project under Preferences.
>> I have looked but cannot find an alternative to TracAccountManager,
>> because I see other people have had trouble with multiple projects even
>> using a TracEnvParentDir, which is not an option for me.
>> Thanks.
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups "Trac
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.