Grails 查找安全 JNDI

Grails Lookup Secured JNDI

我正在使用 Weblogic 12c 并且有一个带有 jndiName 的数据源 "myDataSource."

数据源允许任何人进行查找访问,我可以通过以下方式正常查找它:

 dataSource{
      jndiName = "myDataSource"
 }

在配置文件中。

然后我向数据源添加了一些安全设置,指定只有特定用户或管理员有权对 jndiName 执行查找操作。

如果我现在尝试查找数据源,我会收到一个异常,指出匿名用户没有资源的查找权限。 (符合预期)

我的问题是:
Grails 是否具有处理查找凭据的任何功能,或者我是否必须使用正确的凭据手动设置 initialContext 以便查找成功?

感谢任何帮助。
谢谢大家

如果有人需要这个有效的解决方案: 从 config.groovy 中删除数据源并在 resources.groovy

中使用它
jndiTemplate(org.springframework.jndi.JndiTemplate) { bean ->
    bean.scope = "prototype"
    environment = [
      "java.naming.factory.initial":"weblogic.jndi.WLInitialContextFactory",
      "java.naming.security.principal"  : "username",
      "java.naming.security.credentials": "password"
      ]
}

dataSource(org.springframework.jndi.JndiObjectFactoryBean){
    jndiTemplate = ref(jndiTemplate)
    jndiName = "name"
    exposeAccessContext=true
}