Opened 10 years ago

Closed 9 years ago

#2317 closed defect (worksforme)

Can't logout and login into second project

Reported by: anonymous Owned by: Matt Good
Priority: normal Component: AccountManagerPlugin
Severity: major Keywords:
Cc: Trac Release: 0.11


I tried to configure four projects. (See configuration below) If I'm logging in on the first project - which doesn't matter - every thing works fine. If I logout and try to login to the second project, then I get an error. This is the Traceback in the Browser wenn trying to login the second project:

Traceback (most recent call last):
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 339, in send_error
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 567, in render_template
    data = self.populate_data(req, data)
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 497, in populate_data
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 167, in __getattr__
    value = self.callbacks[name](self)
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 376, in prepare_request
    for category, name, text in contributor.get_navigation_items(req):
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\ticket\", line 114, in get_navigation_items
    if 'TICKET_CREATE' in req.perm:
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 167, in __getattr__
    value = self.callbacks[name](self)
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 271, in _get_perm
    return PermissionCache(self.env, self.authenticate(req))
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\web\", line 155, in authenticate
    authname = authenticator.authenticate(req)
  File "build\bdist.win32\egg\acct_mgr\", line 349, in wrap
    return func(self, *args, **kwds)
  File "build\bdist.win32\egg\acct_mgr\", line 359, in authenticate
    req.environ['REMOTE_USER'] = self._remote_user(req)
  File "build\bdist.win32\egg\acct_mgr\", line 386, in _remote_user
    if AccountManager(self.env).check_password(user, password):
  File "build\bdist.win32\egg\acct_mgr\", line 104, in check_password
    return self.password_store.check_password(user, password)
  File "build\bdist.win32\egg\acct_mgr\", line 120, in password_store
    return self._password_store
  File "C:\Python25\lib\site-packages\trac-0.11dev-py2.5.egg\trac\", line 414, in __get__
AttributeError: Cannot find an implementation of the "IPasswordStore" interface named "HtDigestStore".  Please update the option account-manager.password_store in trac.ini.

These are the settings in httpd.conf:

<Location />
  SetHandler mod_python
  PythonInterpreter main_interpreter
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir D:/trac/home
  PythonOption TracUriRoot /
# PythonDebug on
# PythonHandler mod_python.testhandler

These are the settings in every trac.ini:

password_format = htdigest
password_store = HtDigestStore
password_file = d:\trac\digest.txt
htdigest_realm = trac

trac.web.auth.LoginModule = disabled
acct_mgr.web_ui.LoginModule = enabled
acct_mgr.web_ui.RegistrationModule = enabled

Then I tried to isolate the problem to server/client. Result: If I logged into one project on one Computer, I can't loggin into any other on any other computer!

Therefore the problem occurs to be on the server side.

I'm running trac 0.11dev on a Apache Version 2.2 with Python 2.5.

Any idea? Am I doing something wrong?


Attachments (0)

Change History (2)

comment:1 Changed 10 years ago by anonymous

acct_mgr.admin.* = enabled
acct_mgr.api.* = enabled
acct_mgr.db.* = enabled
acct_mgr.htfile.* = enabled
acct_mgr.http.* = enabled
acct_mgr.pwhash.* = enabled
acct_mgr.svnserve.* = enabled
acct_mgr.web_ui.* = enabled
acct_mgr.web_ui.loginmodule = enabled
acct_mgr.web_ui.registrationmodule = enabled
trac.web.auth.loginmodule = disabled

It works when I add the following into the trac.ini file. Install description should be updated.

comment:2 Changed 9 years ago by Matt Good

Resolution: worksforme
Status: newclosed

I've tried to make the instructions clear by showing the components that need enabled in order to use each of the password backends. If you have ideas to improve the docs, please contribute them to the wiki.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Matt Good.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.