我使用的是Weblogic 12c,并且有一个带有jndiName“myDataSource”的DataSource。
dataSource允许对任何人进行查找访问,我可以通过以下方式正常查找:
dataSource{
jndiName = "myDataSource"
}
在配置文件中。
然后我向dataSource添加了一些安全设置,这些设置只指定某个用户或管理员有权访问jndiName。
如果我现在尝试查找dataSource,我会收到一个异常,指出匿名用户对该资源没有查找权限。 (正如预期的那样)
我的问题是:
Grails是否具有处理查找凭据的任何功能,或者我是否必须使用正确的凭据手动设置initialContext以便查找成功?
感谢任何帮助。
谢谢大家。
答案 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
}