Forked from
DM / dm-docs
261 commits behind, 505 commits ahead of the upstream repository.
-
sveseli authored
moved common authorization/authentication classes into their own module to better reflect their functionality; added checks for admin role name into principal retrievers
sveseli authoredmoved common authorization/authentication classes into their own module to better reflect their functionality; added checks for admin role name into principal retrievers
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
dbPrincipalRetriever.py 1.05 KiB
#!/usr/bin/env python
from dm.common.constants import dmRole
from dm.common.objects.authorizationPrincipal import AuthorizationPrincipal
from dm.common.db.api.userDbApi import UserDbApi
from authorizationPrincipalRetriever import AuthorizationPrincipalRetriever
class DbPrincipalRetriever(AuthorizationPrincipalRetriever):
def __init__(self):
AuthorizationPrincipalRetriever.__init__(self, self.__class__.__name__)
self.dbApi = UserDbApi()
def getAuthorizationPrincipal(self, username):
principal = None
try:
user = self.dbApi.getUserWithPasswordByUsername(username)
principal = AuthorizationPrincipal(name=username, token=user.get('password'))
principal.setRole(dmRole.DM_USER_ROLE)
principal.setUserInfo(user)
self.checkAutorizationPrincipalRole(principal)
except Exception, ex:
self.logger.debug(ex)
return principal
#######################################################################
# Testing.
if __name__ == '__main__':
pass