Сгенерированный PersonController ожидает, что Authority будет содержать слово ROLE - PullRequest
1 голос
/ 16 июля 2009

Я новичок в acegi и относительно новичок в Grails.

Я просто следовал руководству, чтобы установить новую роль и нового пользователя. Каждый раз, когда я сохранял пользователя (с проверенной ролью), он отлично сохранял информацию о пользователе, но не роль, связанную с пользователем.

Я наконец-то покопался в сгенерированном коде контроллера и заметил это:

private void addRoles(person) {
    for (String key in params.keySet()) {
        if (key.contains('ROLE') && 'on' == params.get(key)) {
            Authority.findByAuthority(key).addToPeople(person)
        }
    }
}

Поэтому, чтобы быть уверенным, что я правильно истолковал его, я добавил слово РОЛЬ в мои полномочия, и оно сработало как шарм. Я что-то упускаю из виду, это ошибка или .......?

В примерах показаны простые имена ролей, такие как «пользователь» или «менеджер».

1 Ответ

0 голосов
/ 27 июля 2009

Все ваши полномочия Acegi должны быть ROLE_something. Можно изменить конфигурацию префикса по умолчанию с ROLE_ на что-то другое: http://www.acegisecurity.org/acegi-security/apidocs/org/acegisecurity/runas/RunAsManagerImpl.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...