grails - Grails resources.groovy bean

标签 grails spring-security spring-ldap

我在尝试实际确定我的bean是否已正确装入时遇到一些问题。
是否有一些log4j属性可以在日志中显示正确加载了哪些bean?

经过一番尝试后,我尝试了here的另一个示例

重新定义我的resources.groovy如下所示:

import grails.spring.BeanBuilder
BeanBuilder bb = new BeanBuilder()
bb.beans = {
    ldapUserDetailsMapper(example.CustomDetailsContextMapper) {
    }
}

CustomDetailsContextMapper依次定义为:
class CustomDetailsContextMapper implements UserDetailsContextMapper {
def springSecuritySource

@Override
public UserDetails mapUserFromContext(DirContextOperations ctx, String username, Collection authorities) {

这是使用这种resource.groovy设置时出现的错误:
2012-10-12 12:52:31,663 [main] ERROR spring.GrailsRuntimeConfigurator  - [RuntimeConfiguration] Unable to load beans from resources.groovy
org.codehaus.groovy.runtime.metaclass.MissingPropertyExceptionNoStack: No such property: beans for class: resources
Possible solutions: class

当不使用beanbuilder时,我没有收到任何错误,但是我无法真正验证我的bean是否已加载,因为它们似乎从未被调用过。
在另一种情况下,我得到以下错误。

有什么建议么?

最佳答案

在resource.groovy中只需写

beans = {
    ldapUserDetailsMapper(example.CustomDetailsContextMapper) {
    }

BeanBuilder已经为您定义

使用时调用一个bean ...在 Controller 内部尝试
VeryBeanController{

    def ldapUserDetailsMapper

    def index = {

       render( ldapUserDetailsMapper  )

    }

}

并 call Controller

关于grails - Grails resources.groovy bean ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857815/

相关文章:

grails - 如何将angular5中的输入值发送到grails3?

selenium - Selenium独立服务器在生产模式下失败-Grails

http - 在 grails 中编写代理

grails - 使用profile = web-api创建的Grails 3应用程序可以具有gsps吗?

java - Spring 3.1 LDAP 认证流程 : "Bad Credentials" msg When Credentials Are Good

Spring LDAP querybuilder PartialResultException

java - 无法让 @EnableGlobalMethodSecurity 工作

java - 在此行 : Factory bean not Found 处找到多个注释

spring - UserDetails getPassword 在 Spring Security 3.1 中返回 null。如何获取当前登录用户的密码?

java - Spring LDAP 和外部登录