Domanda

In breve, come posso limitare l'accesso al pool di connessioni X in base al nome dell'applicazione o il nome JAR? Un semplice caso d'uso potrebbe aiutare ...

Un web-app di business (lo chiamano WEB_APP_A) utilizza piscina Y di fare SQL base di look-up. Alcuni utenti di questo web-app hanno accesso ad aggiornare anche alcuni dati sensibili nel database. Questo codice è fornito da un file JAR (chiamarlo HR_JAR) che può essere caduto in dove necessario. Questo JAR utilizza piscina X per tutti i suoi contatti.

Non vogliamo sviluppatori di WEB_APP_A con piscina X. Noi vogliamo solo HR_JAR utilizza piscina X. Questo è per mantenere sviluppatori di WEB_APP_A abusino accidentalmente o intenzionalmente la piscina accesso X fornisce.

Alcune considerazioni:

  1. Questo è il codice legacy in modo HR_JAR è qui per restare
  2. Ci sono in esecuzione su Weblogic 9.2
  3. Non possiamo tenere le password in qualsiasi da nel codice sorgente
  4. Abbiamo ricercato livello utente weblogic authn / AuthZ per le risorse JDBC, ma allora questo pone la domanda; come possiamo fissare il creds utente che utilizziamo per diventare un utente per app / vaso?

Idee? Pensieri? Posso elaborare più di quello che ho provato, ma ho voluto idee fresche.

È stato utile?

Soluzione 2

Non v'è alcun buon modo per fare questo, per quanto posso dire. Ci sono alcuni trucchi intelligenti con AspectJ, ma alla fine è più problemi di quanti ne vale la pena.

Altri suggerimenti

Non hanno mai provato questo e non hanno accesso a un'istanza di giocare in questo momento, ma nella configurazione JDBC potreste provare ad aggiungere un elemento <scope> per l'applicazione contro la piscina X, all'interno del <jdbc-data-source-params> penso ... Anche se questo presuppone un'applicazione separata definita per HR.jar, che non sono sicuro che è il caso dalla tua descrizione. Non so se è possibile limitare un JAR individuo all'interno di un'applicazione però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top