Войти через Facebook в граалях, ошибка доступа к приложению после входа в систему - PullRequest
0 голосов
/ 09 февраля 2012

Я хочу обеспечить вход в систему с помощью Facebook в моем приложении

Я использую ядро ​​Spring Security, Spring Security UI и Spring Security Facebook в моем приложении Grails. Это позволяет мне войти через Facebook и всплывающее окно исчезает. а затем при доступе к любой части приложения без каких-либо настроек карты запроса также отображается ошибка, отображающая

No such property: roles for class: SecUser
No such property: roles for class: FacebookUser

groovy.lang.MissingPropertyException: No such property: roles for class: com.redkan.FacebookUser
    org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49)

Ответы [ 2 ]

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

Как я вижу, у вашего метода getRoles вашего FacebookAuthDao есть что-то вроде:

    Collection<GrantedAuthority> roles = []
    FacebookUser.withTransaction {
        roles = user.roles
    }
    return roles

, но у вашего FacebookUser домена нет свойства roles.

Я думаю, что у вас есть другое имя для списка властей, если это правда, вы должны использовать правильное имя там

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

Когда пользователь регистрируется через Facebook, необходимо назначить соответствующие роли свойству roles класса пользователя и сохранить их.Похоже, в вашем случае пользователь сохраняется без каких-либо ролей.

Лично я предпочитаю не использовать плагин Facebook, поскольку общий объем кода, необходимого для интеграции входа в Facebook с использованием API Facebook, меньше чем100 строк.

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

...