Grails Lookup确保了JNDI

时间:2016-05-19 19:39:46

标签: grails weblogic datasource jndi

我使用的是Weblogic 12c,并且有一个带有jndiName“myDataSource”的DataSource。

dataSource允许对任何人进行查找访问,我可以通过以下方式正常查找:

 dataSource{
      jndiName = "myDataSource"
 }

在配置文件中。

然后我向dataSource添加了一些安全设置,这些设置只指定某个用户或管理员有权访问jndiName。

如果我现在尝试查找dataSource,我会收到一个异常,指出匿名用户对该资源没有查找权限。 (正如预期的那样)

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

感谢任何帮助。
谢谢大家。

1 个答案:

答案 0 :(得分:0)

如果有人需要解决方案,这有效: 从config.groovy中删除dataSource并在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
}