#!/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.setUserSystemRoleDict(user.get('userSystemRoleDict', {})) principal.setUserExperimentRoleDict(user.get('userExperimentRoleDict', {})) self.setAuthorizationPrincipalSessionRole(principal) except Exception, ex: self.logger.debug(ex) return principal ####################################################################### # Testing. if __name__ == '__main__': pass