Documentation

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
jvx:server:security:db_jndi [2019/03/14 11:08]
admin
jvx:server:security:db_jndi [2020/06/15 11:09]
cduncan Edited for English grammar (capitalization, punctuation, correct verb conjugation)
Line 1: Line 1:
 ~~NOTRANS~~ ~~NOTRANS~~
-~~Title: Database ​connection ​via JNDI~~+~~Title: Database ​Connection ​via JNDI~~
  
-If you use the [[jvx:​server:​security:​dbsecman|DBSecurityManager]] for authentication or if you use a database in your application,​ the [[jvx:​server:​storage:​datasourcehandler_dbcredentials|configuration]] is in your applications config.xml.+If you use the [[jvx:​server:​security:​dbsecman|DBSecurityManager]] for authenticationor if you use a database in your application,​ the [[jvx:​server:​storage:​datasourcehandler_dbcredentials|configuration]] is in your applications config.xml.
  
-The configuration is plain xml and it's possible to [[jvx:​server:​security:​config_encrypt|use encryption]]. It's also possible to read the [[jvx:​common:​setup:​zones|configuration via JNDI]].+The configuration is plain xmland it's possible to [[jvx:​server:​security:​config_encrypt|use encryption]]. It's also possible to read the [[jvx:​common:​setup:​zones|configuration via JNDI]].
  
-Another option is that you use JNDI to create a database connection. In this case, you should set the JDBC URL to something like this:+Another option is to use JNDI to create a database connection. In this case, you should set the JDBC URL to something like this:
  
 <file xml config.xml>​ <file xml config.xml>​
Line 21: Line 21:
 </​file>​ </​file>​
  
-The JNDI resource can be an instance of DBAccess, java.sql.Connectionjavax.sql.DataSource ​or IConnectionPool.+The JNDI resource can be an instance of DBAccess, IConnectionPool, java.sql.Connection ​or javax.sql.DataSource
 + 
 +The application code, e.g., in your Session LCO: 
 + 
 +<file java> 
 +protected DBAccess getDBAccess() throws Exception 
 +
 +    DBAccess dba = (DBAccess)get("​dBAccess"​);​ 
 + 
 +    if (dba == null) 
 +    { 
 +        DBCredentials dbcred = DBSecurityManager.getCredentials(SessionContext.getCurrentSessionConfig());​ 
 + 
 +        //no credentials -> no database access possible (should not happen, only if configuration is not finished) 
 +        if (dbcred != null) 
 +        { 
 +            dba = DBAccess.getDBAccess(dbcred);​ 
 +            dba.open();​ 
 + 
 +            put("​dBAccess",​ dba); 
 +        } 
 +    } 
 + 
 +    return dba; 
 +
 +</​file>​ 
 +will work without changes.
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information