示例#1
0
    def deleteToken(self, args):
        self._start(args)
        print('Delete token: please authenticate...')
        
        while True:
            admin_username = raw_input('Enter admin username: '******'Enter admin password: '******'Please sign in using administrator credentials.')
            elif not User.users().get(username=admin_username).authenticate(admin_password): #Db.instance().authenticate_user(admin_username, admin_password):
                print("Username/password don't match.")
            else:
                break

        username = raw_input('Enter username for token to delete: ')
        user = User.users().get(username=username)
        if user:
            token = Token.tokens().get_token_for_user(user=user)
            if token:
                token.delete()
                print('Deleted token belonging to %s.' % username)
            else:
                print('%s has no tokens to delete.' % username)
        else:
            print('%s has no tokens to delete.' % username)
示例#2
0
 def on_message(self, message):
     auth_token = self.request.headers.get('authorization')
     token = Token.tokens().get(token=auth_token)
     if token and token.user:
         data = json.loads(message)
         if data['msg'] == 'update':
             self.write_message(json.dumps({'msg':'updated'}))
示例#3
0
 def open(self):
     auth_token = self.request.headers.get('authorization')
     token = Token.tokens().get(token=auth_token)
     if token and token.user:
         WSHandler.connections.append(self)
     else:
         self.close()
示例#4
0
 def get(self):
     try:
         auth_token = self.request.headers.get('authorization')
         token = Token.tokens().get(token=auth_token)
         if token and token.user:
             timestamp_str = self.get_query_argument('timestamp', None, True)
             if timestamp_str != None:
                 timestamp = float(timestamp_str)
             else:
                 timestamp = -1.0
             processes = []
             for p in ProcInfo.all():
                 processes.append({'group': p.group, 'name': p.name, 'pid':p.pid, 'state': p.state,
                     'statename': p.statename, 'start': p.start, 'cpu': p.get_cpu(timestamp),
                     'mem': p.get_mem(timestamp)})
             data = {'processes': processes, 'version': ProcessUpdater.version}
         else:
             data = {'error': 'not authorized'}
     except Exception as e:
         print('Error: %s' % e)
         try:
             logger = logging.getLogger('Web Server')
             logger.error(e)
         except:
             pass
         data = {'error': e}
     self.set_header('Content-Type', 'application/json')
     self.write(json.dumps(data))
示例#5
0
    def listTokens(self, args):
        self._start(args)

        print("%s%sCreated" % ("Username".ljust(40), "Token".ljust(42)))
        try:
            # We need to put this in a try block because it's possible that the users
            # table won't exist if there hasn't been a user created. The 'all()' function
            # relies on a join query with users.

            # This will be fixed once I implement migrations
            for token in Token.tokens().all():
                print("%s%s%s" % (token.user.username.ljust(40), token.token.ljust(42),
                    datetime.fromtimestamp(token.created).strftime('%d-%m-%Y %H:%M:%S')))
        except:
            pass
示例#6
0
 def get(self):
     try:
         username = self.request.headers.get('username')
         password = self.request.headers.get('password')
         user = User.users().get(username=username)
         if user.authenticate(password):
             token = Token.tokens().get_token_for_user(user)
             if not token:
                 token = Token(user=user)
                 token.save()
             data = {'token': token.token}
         else:
             data = {'error': 'invalid username/password'}
     except Exception as e:
         data = {'error': str(e)}
     self.set_header('Content-Type', 'application/json')
     self.write(json.dumps(data))