products.sqlalchemypas-1.0-py2.6.egg AttributeError: getGroupsForPrincipal - PullRequest
0 голосов
/ 21 февраля 2012

Я использую 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.

Любой комментарий, как всегда, очень помогает.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Только что обнаружил, что Мой файл имеет неправильный отступ, поэтому он выдавал атрибуты ошибку. Спасибо всем за ваше время и комментарии.

0 голосов
/ 22 февраля 2012

Я не думаю, что определение метода делает то, что вы ожидаете. principal=getSecurityManager().getUser().getId() рассчитает параметр по умолчанию во время импорта, а не во время выполнения метода.

...