'Lookup the account associated with the given parameters
Override this method to define the desired authentication behavior.
The default behavior is to defer authentication to C{self.portal}
if it is not None, or to deny the login otherwise.
@type user: L{str}
@param user: The username to lookup
@type passwd: L{str}
@param passwd: The password to login with'

def authenticateLogin(self, user, passwd):

    if self.portal:
        return self.portal.login(credentials.UsernamePassword(user, passwd), None, IAccount)
    raise UnauthorizedLogin()
