def single_sign_on(self, token): """Authenticate the client by given single sign on token""" session = self.single_sign_on.sessions.pop(token, None) if not session: CORE.warn('Unknown SSO token: %r' % (token,)) return False self.__store_ip_in_session() expiration = get_expiration() user = self.getSession(User) self.addCookie('UMCSessionId', session.uid, path='/', expires=expiration) self.addCookie('UMCUsername', user.username, path='/', expires=expiration) return True
def render(self, request): user = request.getSession(User).user if not user: request.setResponseCode(BAD_REQUEST_INVALID_OPTS) # HTTP FIXME return preferences = dict(self._get_preferences(request)) new_preferences = dict(user.info.get('umcProperty', [])) new_preferences.update(preferences) user.info['umcProperty'] = new_preferences.items() try: user.modify() except (udm_errors.base) as err: CORE.warn('Could not set given option: %s' % err) request.setResponseCode(BAD_REQUEST_INVALID_OPTS) # HTTP FIXME
def render(self, request): lo, po = get_machine_connection() if not lo: # unjoined / no LDAP connection return [] try: domaincontrollers = lo.search(filter="(objectClass=univentionDomainController)") except LDAPError as exc: CORE.warn('Could not search for domaincontrollers: %s' % (exc)) return [] hosts = [ '%s.%s' % (computer['cn'][0], computer['associatedDomain'][0]) for dn, computer in domaincontrollers if computer.get('associatedDomain') ] hosts.sort() return dict(result=hosts)
def __check_max_file_size(self, filename): st_size = stat(filename).st_size if st_size > self.max_upload_size: CORE.warn('File of size %d could not be uploaded' % (st_size)) self.setResponseCode(400) # HTTP FIXME: 413 entity too large raise ValueError('The size of the uploaded file is too large.')