Пример #1
0
    def requestAvatarId(self, credentials):
        print "requestAvatarId", credentials.username
        user = database.getUser(key=credentials.blob)
        if user:
            if not user['enabled']:
                return failure.Failure(
                               error.ConchError("User account not enabled"))
            
            if not credentials.signature:
                return failure.Failure(error.ValidPublicKey())
            
            pubKey = keys.Key.fromString(credentials.blob)
            if pubKey.verify(credentials.signature,
                    credentials.sigData):
                print "login as %s" % credentials.username
                database.updateUserName(credentials.blob, credentials.username)
                return credentials.username
            else:
                return failure.Failure(
                    error.ConchError("Incorrect signature"))

        elif config['ALLOW_ANNONYMOUS']:
            print "login as ANONYMOUS"
            user = "".join(Random().sample(string.letters,30))
            self.annons[user] = credentials.blob
            return user
        
        return failure.Failure(error.ConchError("Not allowed"))
Пример #2
0
    def requestAvatarId(self, credentials):
        print "requestAvatarId", credentials.username
        user = database.getUser(key=credentials.blob)
        if user:
            if not user['enabled']:
                return failure.Failure(
                    error.ConchError("User account not enabled"))

            if not credentials.signature:
                return failure.Failure(error.ValidPublicKey())

            pubKey = keys.Key.fromString(credentials.blob).keyObject
            if keys.verifySignature(pubKey, credentials.signature,
                                    credentials.sigData):
                print "login as %s" % credentials.username
                database.updateUserName(credentials.blob, credentials.username)
                return credentials.username
            else:
                return failure.Failure(error.ConchError("Incorrect signature"))

        elif config['ALLOW_ANNONYMOUS']:
            print "login as ANONYMOUS"
            user = "".join(Random().sample(string.letters, 30))
            self.annons[user] = credentials.blob
            return user

        return failure.Failure(error.ConchError("Not allowed"))
Пример #3
0
 def render_POST(self, request):
     key=self.user['key']
     
     if 'delete' in request.args:
         return self.deleteUser()
     
     database.updateUserName(key, request.args['user'][0])
     
     if 'enabled' in request.args and request.args['enabled'][0].lower()=='on':
         database.enableUser(key)
     else:
         database.disableUser(key)
     
     database.updateUserLastLogin(key, request.args['lastlogin'][0])
     return REDIRECT % {'title': "User Updated", 'text': "User Updated"}
Пример #4
0
    def render_POST(self, request):
        key = self.user['key']

        if 'delete' in request.args:
            return self.deleteUser()

        database.updateUserName(key, request.args['user'][0])

        if 'enabled' in request.args and request.args['enabled'][0].lower(
        ) == 'on':
            database.enableUser(key)
        else:
            database.disableUser(key)

        database.updateUserLastLogin(key, request.args['lastlogin'][0])
        return REDIRECT % {'title': "User Updated", 'text': "User Updated"}