don't loop back to login if the user has already logged in but has insufficient

rights
This commit is contained in:
Frédéric Péters 2005-05-24 08:45:18 +00:00
parent 622e997428
commit 792565b1b2
1 changed files with 6 additions and 5 deletions

View File

@ -36,17 +36,18 @@ class RootDirectory(AccessControlled, Directory): #, AccessControlled):
def _q_access(self):
session = get_session()
user = None
try:
user = storage.get_storage().retrieve('users', session.user)
except KeyError:
pass
if not user:
if not session.user or session.user == 'ultra-user':
if len(storage.get_storage().keys('users')) == 0 or session.user == 'ultra-user':
session.set_user('ultra-user')
return # bootstrapping
raise wcs.errors.AccessUnauthorizedError()
try:
user = storage.get_storage().retrieve('users', session.user)
except KeyError:
raise wcs.errors.AccessForbiddenError()
if not 'site-admin' in user.roles:
raise wcs.errors.AccessForbiddenError()