После небольшой работы с pdb я решил проблему следующим образом:
def get_author_image(self, member_id):
"""
Fetch the author portrait image url accoding to member_id
"""
mtool = getToolByName(self.context, 'portal_membership')
mtool.getPersonalPortrait(id=member.id)
Секрет в передаче id kwarg.Странно, но это работает.
Это была не проблема с разрешениями, а проблема с тем, как getPersonalPortrait возвращает правильный URL-адрес изображения.Если вы не укажете идентификатор, каким-то образом он не сможет отработать правильный идентификатор члена, поэтому откроется отображение пользователя по умолчанию.