1
2
3
4
5
6 from repoze.what.adapters import BaseSourceAdapter
7 from repoze.who.interfaces import IAuthenticator
8 from repoze.who.interfaces import IMetadataProvider
9 from zope.interface import implements
10
12 """Group adapter. Use 'auth/group_users' to retrieve group's users"""
14 self.user_class = user_class
15
17 raise NotImplementedError()
18
20 raise NotImplementedError()
21
23 """
24 Returns the group ids that the user is part of.
25 """
26 user = self.user_class.get(hint['repoze.what.userid'])
27 return user.groups
28
30 raise NotImplementedError()
31
33 raise NotImplementedError()
34
36 raise NotImplementedError()
37
41
43 raise NotImplementedError()
44
46 raise NotImplementedError()
47
49 results = self.db.view('group/show_permissions', startkey=hint).all()
50 return [x["value"] for x in results]
51
53 raise NotImplementedError()
54
56 raise NotImplementedError()
57
59 raise NotImplementedError()
60
62 implements(IAuthenticator)
63
65 self.user_class = user_class
66
68 login = identity.get('login', '')
69 password = identity.get('password', '')
70
71 user = self.user_class.authenticate(login, password)
72 if not user:
73 return None
74 identity['login'] = str(user.login)
75 identity['user'] = user
76 return user._id
77
79 implements(IMetadataProvider)
80
82 self.user_class = user_class
83
90