【问题标题】:Grails SpringSecurityFacebook plugin DefaultFacebookAuthDao errorGrails SpringSecurityFacebook 插件 DefaultFacebookAuthDao 错误
【发布时间】:2013-09-25 05:47:46
【问题描述】:

我正在使用 Grails 2.0.4。使用该应用程序,我想添加 facebook 身份验证来访问我的应用程序。我已经为当前的 Grails 版本安装了 Spring Security 插件,它工作正常。我想扩展它以使 Facebook 用户也可以访问它。为此,我安装了SpringSecurityFacebook 插件。 SpringSecurityCore 插件版本为 1.2.7.2 & SpringSecurityFacebook 插件版本为 0.15。

使用 SpringSecurityCore 插件,我为用户和角色配置了域类,它们分别是 User.groovy 和 UserRole.groovy。我让 SpringSecurityCore 插件为 User & UserRole 类创建连接类,因此它创建了一个数据库表 user_authorities。现在出现了 SpringSecurityFacebook 插件的问题。当我运行安装了这两个插件的应用程序时,它表明 SpringSecurityCore 插件配置成功并且 SpringSecurityFacebook 插件配置成功。之后它会触发一个错误,如下所述。

ERROR facebook.DefaultFacebookAuthDao  - Can't find authority join class (PersonAuthority). Please configure 'grails.plugins.springsecurity.userLookup.authorityJoinClassName' value, or create your own 'List<GrantedAuthority> facebookAuthService.getRoles(user)'
ERROR facebook.DefaultFacebookAuthDao  - UserDetailsService from spring-security-core don't have method 'createUserDetails()'

现在,我的问题是我们是否需要在我们的应用程序中创建加入表的域类,因为 SpringSecurityCore 插件声明它是可选的。如果需要,那么是否必须拥有我们的自定义逻辑或者使用该名称创建域的原始逻辑才能工作?

欢迎提出建议...

【问题讨论】:

    标签: facebook spring grails grails-plugin grails-domain-class


    【解决方案1】:

    您的应用配置为使用PersonAuthority 类名,但您说您使用的是UserRole 类。 PersonAuthority 是来自 Spring Security Core 的 default value

    只需使用正确的值配置grails.plugins.springsecurity.userLookup.authorityJoinClassName,例如:

    grails.plugins.springsecurity.userLookup.authorityJoinClassName='UserRole'
    

    【讨论】:

    • 在我的例子中,用于加入用户和用户角色的数据库表是 user_authorities。所以对于 Grails 域,我需要创建 UserAuthorities 类,对吗?并且代码将保持与grails-plugins.github.io/grails-spring-security-core/docs/… 中提到的相同
    • 你可以使用现有的域,就像我描述的那样
    • 我已经这样做了。在 Config.groovy 文件中添加了该行。现在它给出了不同的错误。它给出了错误:ERROR facebook.DefaultFacebookAuthDao - UserDetailsService from spring-security-core don't have method 'createUserDetails()'
    • 出现此错误后可以正常工作,但通常表示spring-security-core插件配置错误。你用的是什么版本?
    • Spring Security 核心版本 1.2.7.2
    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 2015-02-03
    • 2013-01-28
    • 2014-01-07
    相关资源
    最近更新 更多