Coverage for gws-app/gws/base/auth/system_provider.py: 29%
35 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1import gws
3from . import user as user_module
6class Object(gws.AuthProvider):
7 users: dict
8 type = 'system'
10 def configure(self):
11 self.uid = 'gws.base.auth.provider.system'
12 self.allowedMethods = []
14 g = user_module.GuestUser(self, roles=[gws.c.ROLE_GUEST, gws.c.ROLE_ALL])
15 g.attributes = {}
16 g.displayName = ''
17 g.localUid = 'guest'
18 g.loginName = ''
19 g.uid = gws.u.join_uid(self.uid, g.localUid)
21 s = user_module.SystemUser(self, roles=[])
22 s.attributes = {}
23 s.displayName = ''
24 s.localUid = 'system'
25 s.loginName = ''
26 s.uid = gws.u.join_uid(self.uid, s.localUid)
28 self.users = {'guest': g, 'system': s}
30 def authenticate(self, method, credentials):
31 # system and guest cannot log in
32 return None
34 def serialize_user(self, user):
35 if user is self.users['guest']:
36 return 'guest'
37 if user is self.users['system']:
38 return 'system'
39 raise gws.Error(f'wrong user for system.serialize: {user.uid!r}')
41 def unserialize_user(self, data):
42 if data in self.users:
43 return self.users[data]
44 raise gws.Error(f'wrong data for system.unserialize: {data!r}')
46 def get_user(self, local_uid):
47 return self.users[local_uid]