don't loop back to login if the user has already logged in but has insufficient
rights
This commit is contained in:
parent
622e997428
commit
792565b1b2
|
@ -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()
|
||||
|
||||
|
|
Loading…
Reference in New Issue