# EJB und Security



## fastjack (24. Okt 2011)

Hi

ich habe folgendes Szenario:


```
* Applikationsserver
    * DataSource DS1
    * DataSource DS2
    * Anwendung1 (verwendet DS1)
        * Beans
    * Anwendung2 (verwendet DS2)
        * Beans
```

Kann ich irgendwie sicherstellen das Anwendung2 die DS1 nicht benutzen darf? Also irgendwie reglementieren, auf welche DataSources per JNDI aus einer Anwendung heraus innerhalb des Applikationsservers zugegriffen werden kann?

Gruß fastjack.


----------



## Sym (24. Okt 2011)

Die Datasource gibst Du doch in Deiner Anwendung an (ich gehe mal von der persistence.xml bei Dir aus).

Damit ist doch klar definiert, wer worauf Zugriff erhält.


----------



## bronks (25. Okt 2011)

Sym hat gesagt.:


> Die Datasource gibst Du doch in Deiner Anwendung an (ich gehe mal von der persistence.xml bei Dir aus). Damit ist doch klar definiert, wer worauf Zugriff erhält.


Das ist ja interessant. Könntest Du das bitte mit einer kleinen Beispielkonfig näher erklären.

Danke!


----------



## Sym (25. Okt 2011)

```
<persistence>
   <persistence-unit name="myapp">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <jta-data-source>java:/DefaultDS</jta-data-source>
      <properties>
         property name="hibernate.dialect" 
                  value="org.hibernate.dialect.HSQLDialect"/>
         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
      </properties>
   </persistence-unit>
</persistence>
```

Siehe: 1.2.1. The persistence.xml file


----------



## bronks (26. Okt 2011)

@Sym:
Oh, Mißverständnis. Ich dachte, Du meinst evtl. eine Einstellung für die exclusive Verwendung einer DS.


----------



## Sym (26. Okt 2011)

Ach so. Ich hatte gedacht, er hätte beide manuell angesprochen. Aber er hat hat sich auch noch nicht weiter dazu geäußert.


----------



## fastjack (26. Okt 2011)

```
<jta-data-source>java:/DefaultDS</jta-data-source>
```

referenziert doch nur auf eine Datasource oder nicht? Wenn ja, kann ich aus einer anderen EJB-Anwendung mittels InitialContext.lookup() ebenfalls darauf zugreifen. Kann man so etwas verhindern?


----------

