Я использую products.sqlalchemypas-1.0-py2.6.egg для аутентификации пользователя из таблицы MSSQL.Аутентификация работает, как и ожидалось, но сейчас я пытаюсь реализовать плагин групп, чтобы получить группы из другой таблицы.Когда я пытаюсь войти в систему, происходит ошибка, сообщающая об ошибке AttributeError: getGroupsForPrincipal.
Трассировка ошибки: ..
2012-02-21T15: 33: 14 INFO Zope Готов к обработкезапросы
2012-02-21T15: 39: 25 ОШИБКА Zope.SiteErrorLog 1329838765.580.598770330561 http://localhost:8060/dev/login_form
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.BaseRequest, line 596, in traverse
Module Products.PluggableAuthService.PluggableAuthService, line 235, in validate
Module Products.PluggableAuthService.PluggableAuthService, line 735, in _findUser
Module Products.PluggableAuthService.PluggableAuthService, line 668, in _getGroupsForPrincipal
AttributeError: getGroupsForPrincipal
Мое определение в plugin.py: ...
def getGroupsForPrincipal(self, principal=getSecurityManager().getUser().getId(),request=None):
"Getting groups from SIMS"
import pdb; pdb.set_trace()
groups = []
results = self.simsGroupForUser(username=principal)
for row in results.dictionaries():
group = row.get('group')
groups.append(group)
return groups
Не знаю, почему он не может получить доступ к этому методу в plugin.py, однако есть скрытый блок, где я определил этот интерфейс для реализации результирующего интерфейса с отображаемыми группами в моем объекте pas acl_user.
[добавлено] Я пытался импортировать свой плагин в отладчике и пытался найти этот метод, и у меня возникла та же ошибка, поэтому я не знаю. Нужно ли мне что-то конкретно определять, чтобы выбрать этот метод в моем pas?Я определил в своем классе инструментов для реализации IGroupsPlugin.
Любой комментарий, как всегда, очень помогает.