5.3 EJB Security. Client/Server-Komponententechnologie basierend auf Java. Enterprise Java Beans sind Komponenten der Geschäftsapplikation.
|
|
- Leander Acker
- vor 8 Jahren
- Abrufe
Transkript
1 5.3 EJB Security Client/Server-Komponententechnologie basierend auf Java. Enterprise Java Beans sind Komponenten der Geschäftsapplikation. Applikations-Server führen EJBs in Containern aus. Applikations-Server interagiert mit Systemressourcen (z.b. Datenbank) und verteilten Beans auf anderen Servern. Der Applikations-Server handhabt die Sicherheitseinstellungen. Enterprise Java Beans (EJB) sind eine Client/Server-Komponententechnologie für die Entwicklung und das Deployment verteilter Komponenten basierend auf der Java-Plattform. Enterprise Java Beans sind Komponenten der Geschäftsapplikation, z.b. Kunde, Auftrag, Rechnung etc und werden von Applikations-Servern in Containern ausgeführt. Der Applikationsserver bzw. der Container interagiert mit den Systemressourcen (z.b. Datenbank) und übernimmt auch die Interaktion mit verteilten Beans in anderen Servern. Außerdem kontrolliert der Applikationsserver die Sicherheitseinstellungen. 1
2 5.3 EJB Security Es gibt drei Arten von EJBs Session Bean: Bearbeitet Anfragen eines Clients in einer Session. Ist nicht persistent. Es wird zwischen Stateless Session Beans ( keinem speziellen Client zugeordnet) und Stateful Session Beans (einem Client zugeordnet) unterschieden. Entity Bean: Geschäftsobjekt-Komponente die persistent gehalten wird (z.b. in Datenbank) Message-Driven Bean: Reagiert auf Nachrichten und wird erst beim Eintreffen einer Nachricht aktiv. Es gibt prinzipiell drei Arten von Enterprise Java Beans: Session Bean: Führt Anfragen eines Clients während einer Session aus und beschäftigt sich ausschließlich mit dem Client. Es existiert nur für die Zeit der Session (nicht persistent). Es kann Schritte und Daten der Interaktion zwischenspeichern (z.b. Einkaufswagen). Entity Bean: Eine Geschäftslogik-Komponente, die persistent gehalten werden muss (meist mit Datenbanken über JDBC). Message-Driven Beans: Werden nicht über Schnittstellen angesprochen, sondern reagieren auf Nachrichten. Die Bean wird nur beim Eintreffen einer Nachricht aktiv. 2
3 5.3 EJB Security Zum Erstellen eines EJBs ist folgendes zu tun: Remote Interface Schnittstelle mit den Operationen, die ein Client aufrufen kann. Home Interface Operationen zum Lifecycle-Management (Erzeugen, Zerstören etc.). Dient als Factory. Bean Implementation Implementiert die Operationen des Remote Interface. Deployment-Deskriptor (in XML) Defniert das Bean mit den Informationen, die für das Deployment des Bean relevant sind. Um eine EJB zu erstellen, müssen folgende Java-Dateien erstellt werden: Remote Interface definiert die Operationen die von Clienten aufgerufen werden können. Das Home Interface dient als Factory. Es enthält beispielsweise Operationen für das Lifecycle-Management der Bean wie seine Erzeugung oder Zerstörung. Der EJB Container erzeugt dann die Instanzen der Bean. Die Bean implementation implementiert die Operationen, die im Remote Interface spezifiziert sind. Außerdem muss die Bean im XML-Deployment-Deskriptor definiert werden. Der Deployment-Deskriptor enthält relevante Informationen für das Deployment der Bean auf dem EJB-Server. Der Deskriptor ist als XML-Datei implementiert. 3
4 5.3 EJB Security 1: frage nach Home Object Reference Client Naming Service 3: erzeuge EJB Object 5: EJB Reference 6: Methodenaufruf 2:Home Object Reference Home Interface Remote Interface EJB Container/Server Home Object 4: erzeuge EJB Object EJB Object Die Folie zeigt den grundlegenden Aufbau für den Aufruf von EJB Komponenten. Eine Client- Anwendung benutzt einen Namensservice (naming service) zum Aufruf eines EJBs, welches sich in einem EJB-Container befindet. Der EJB-Container stellt eine Laufzeitumgebung für EJBs zur Verfügung. Der Standard-Ablauf beim Aufruf eines EJBs auf dem Server sieht wie folgt aus: 1. Der Client erhält die EJB Home Object Reference mittels des Naming Service, der üblicherweise vom Applikationsserver zur Verfügung gestellt wird. 2. Der Naming Service gibt die EJB Home Object Reference zurück, die vom Client benötigt wird, um eine EJB Instanz zu erzeugen. 3. Nachdem das EJB Home Object bekannt ist, erzeugt der Client eine Instanz des EJBs durch einen Aufruf der entsprechenden Operation des Home Interfaces. 4. Das EJB Home Object erzeugt das EJB Object. 5. Eine Referenz auf das EJB Home Object wird dem Clienten zurückgeliefert. 6. Nachdem das EJB Object erzeugt wurde, kann der Client die Methoden des EJBs mittels des EJB Object Remote Interfaces aufrufen. 4
5 5.3 EJB Security Remote Interface HelloWorld.java package helloworld; import javax.ejb.ejbobject; import java.rmi.remoteexception; // remote interface for `HelloWorld' EJB. public interface HelloWorld extends EJBObject { public void sayhello() throws RemoteException; } Auf den folgenden Folien ist ein Hello World Beispiel gezeigt, welches die Schritte zur Erstellung eines Stateless Session Beans zeigt. Zunächst wird das Remote Interface definiert. In diesem Beispiel gibt es eine Schnittstellenoperation sayhello(). Remote Interfaces sind immer von EJBObject abgeleitet. 5
6 5.3 EJB Security Home Interface HelloWorldHome.java package helloworld; import java.io.serializable; import java.rmi.remoteexception; import javax.ejb.createexception; import javax.ejb.ejbhome; // Home interface for the HelloWorld EJB. public interface HelloWorldHome extends EJBHome { // Creates an instance of the HelloWorldBean class on the server. HelloWorld create() throws RemoteException, CreateException; } Das Home Interface enthält nur eine Operation zum Erzeugen eines HelloWorld-Beans. Das Home Interface erweitert immer EJBHome. 6
7 5.3 EJB Security Bean Implementation - HelloWorldBean.java package helloworld; import java.rmi.remoteexception; import javax.ejb.sessionbean; import javax.ejb.sessioncontext; public class HelloWorldBean implements SessionBean { public void sayhello() { System.out.println("Hello World"); }... Die Operationen des Remote Interfaces werden in der Bean Implementation Klasse implementiert. Da wir nur die Operation sayhello() im Remote Interface haben, ist auch nur diese zu implementieren. Wir implementieren die Bean als Session Bean. Das die Session Bean stateless ist, wird erst im Deployment Descriptor angegeben. Neben den Operationen im Remote Interface müssen möglicherweise weitere Operationen implementiert werden (z.b. muss für jede create() Operation im Home Interface die Operation ejbcreate() und ejbpostcreate() implementiert werden). 7
8 5.3 EJB Security Deployment Descriptor ejb-jar.xml <ejb-jar> <description>helloworld example EJB</description> <display-name>helloworld EJB</display-name> <enterprise-beans> <session> <ejb-name>helloworld</ejb-name> <home>helloworld.helloworldhome</home> <remote>helloworld.helloworld</remote> <ejb-class>helloworld.helloworldbean</ejb-class> <session-type>stateless</session-type> </session> </enterprise-beans> </ejb-jar> Der Deployment Descriptor (ejb-jar-xml) ist eine XML-Datei, die die Informationen zu den Enterprise Beans zusammenfasst, die zum Deployment auf dem Applikations-Server notwendig sind. Die Informationen zu einem EJB werden innerhalb des Elements <enterprisebean> spezifiziert. Dazu gehört der Name, unter dem die Bean im Container bekannt sein soll (<ejb-name>), das Home Interface (<home>), das Remote Interface (<remote>) und die Implementierung der Bean (<ejb-class>). Bei session beans kann auch der Session-Typ angegeben werden (als Wert des Elements <session-type>, entweder stateless oder stateful). 8
9 5.3 EJB Security Client package helloworld; import javax.naming.initialcontext; import javax.rmi.portableremoteobject; import helloworld.helloworld; import helloworld.helloworldhome; public class HelloWorldClient { public static void main(string[] args) { try { // Get a naming context InitialContext jndicontext = new InitialContext(); Nachdem die Bean auf dem Applikations-Server installiert wurde, können sich Clienten an den Server wenden und auf die Bean zugreifen. Dazu muss sich der Client erst den Namenskontext holen, um von dort eine Referenz auf das Bean Home Interface zu erfragen. 9
10 // Get a reference to the Bean's Home interface Object ref = jndicontext.lookup("helloworld"); HelloWorldHome home = (HelloWorldHome) PortableRemoteObject.narrow(ref, HelloWorldHome.class); // Invoke creation of remote Bean-instance HelloWorld helloworld = home.create(); // call the method sayhello() helloworld.sayhello(); } catch (Exception e) { System.out.println(e.toString()) }; Nachdem der Client den Namenskontext hat, fragt er nach der Referenz auf das Home Interface der Bean. Dazu benutzt der Client den Namen der Bean, der im Deployment Descriptor im Element <ejb-name> angegeben ist. Da der Namenskontext nur eine Referenz vom Typ Object liefert, wird diese noch zum richtigen Typ umgewandelt. Auf dem Home Interface kann der Client dann die Operation zum Erzeugen einer Bean-Instanz aufrufen. Auf dieser Instanz können dann die Operationen des Remote Interface aufgerufen werden. In diesem Beispiel ruft der Client die Operation sayhello() auf. 10
11 5.3 EJB Security Beteiligte am Lebenszyklus eines EJBs: Bean Provider: Programmiert das Bean. Application Assember: Stellt aus Beans eine Anwendung zusammen. Bean Deployer: Konfiguriert einen Applikationsserver mit dem Bean Beteiligte haben verschiedene Aufgaben bzgl. Sicherheit. Die EJB-Spezifikation sieht prinzipiell drei Beteiligte am Lebenszyklus eines EJBs vor. Der Bean Provider programmiert die Bean, der Application Assembler stellt aus den Beans eine Anwendung zusammen und der Bean Deployer legt die Bean auf einen Applikationsserver, auf dem sie ausgeführt werden kann. Diese drei Beteiligten haben verschiedene Aufgabengebiete in Bezug auf die Systemsicherheit. 11
12 5.3 EJB Security EJB Sicherheitsarchitektur hat eine Trennung zwischen Sicherheitsund Anwendungslogik. Application Assembler definiert Rollen (security roles) für die Anwendung und weist Methoden-Aufrufrechte (method permissions) zu deklarativ im Deployment-Deskriptor Deployer ordnet den Rollen Principals zu. Ein Principal ist ein Serverseitiges Objket, das an authentifizierte Benutzer gebunden wird. Client darf Methode eines EJBs aufrufen, wenn der zugeordnete Principal eine entsprechende Rolle hat. Container Provider muss die Sicherheitsstrategie durchsetzen. Generell kann man sagen, dass die EJB-Architektur die Sicherheitslogik von der Anwendungslogik trennt, d.h. der Bean Provider soll die Sicherheitsstrategie nicht in die Anwendungslogik integrieren. Der Application Assembler definiert die Sicherheits-Rollen der EJB-Anwendung. Eine Rolle ist (wie im RBAC-Modell definiert) eine Gruppierung von Rechten, die ein Benutzer braucht, um die Anwendung auszuführen. Der Application Assembler definiert (deklarativ in einem Deployment Descriptor) die Methoden-Erlaubnisse (method permissions) für jede Rolle. Der Deployer ist dafür verantwortlich die Principals (oder Gruppen von Principals) zu den vom Application Assembler definierten Rollen zuzuordnen. Ein Principal ist ein Server-seitiges Objekt, dass mit dem authentifizierten Benutzer verbunden wird. Der Principal ist in der Regel der Aufrufer (caller) der Methode. Zur Laufzeit wird einem Clienten nur dann erlaubt eine Methode aufzurufen, wenn der mit dem Clienten verbundene Principal mindestens eine Rolle hat, die ihm die Erlaubnis zum Aufruf der Methode gibt bzw. der Application Assembler hat keine Zugriffsschutzbeschränkungen für die Methode spezifiziert. Der Container Provider ist dafür verantwortlich die Sicherheitsstrategie zur Laufzeit durchzusetzen. 12
13 5.3 EJB Security Sicherheitsaufgaben des Bean Provider Soll möglichst wenig mit Sicherheit konfrontiert werden, Konzentration auf Geschäftslogik. Sicherheitslogik soll nicht hart im Code eingebettet werden. Aber: Einfache Schnittstellen zum Zugriff auf den Sicherheitskontext des EJBs. Der Bean Provider soll so wenig wie möglich mit Sicherheitsfragen belangt werden und die Sicherheitspolitik soll nicht hart im Code des Beans eingebettet werden. Der Bean Provider soll sich auf die Umsetzung der Geschäftsabläufe konzentrieren. In bestimmten Fällen kann es jedoch vorkommen, dass Sicherheitsaspekte im Bean implementiert werden müssen. Für diesen Fall ist es dem Bean Provider über einfache Schnittstellen möglich, auf den Sicherheitskontext eines EJBs zuzugreifen. 13
14 5.3 EJB Security Schnittstelle javax.ejb.ejbcontext besitzt zwei Methoden zum Zugriff auf Sicherheitsmethoden public interface javax.ejb.ejbcontext { java.security.principal getcallerprincipal(); boolean iscallerinrole( String rolename ); } Die Schnittstelle javax.ejb.ejbcontext besitzt zwei Methoden, die es dem Bean Provider erlauben, Sicherheitsinformationen über den Aufrufer (caller) des EJBs zu erlangen. Mit dem Aufrufen der Methode getcallerprincipal() innerhalb einer EJB-Methode kann der Principal bestimmt werden, der die EJB-Methode aufgerufen hat. Mittels der Methode getname() des Objektes java.security.principal kann dann der Name des Principals bestimmt werden. Eine EJB-Methode kann mit der Methode iscallerinrole() testen, ob der Aufrufer der EJB-Methode eine bestimmte Rolle besitzt. 14
15 5.3 EJB Security Beispiel für getcallerprincipal() public class EmployeeServiceBean implements SessionBean { EJBContext ejbcontext; public void changephonenumber(...) {... Context initctx = new InitialContext(); Object result = initctx.lookup("java:comp/env/ejb/emplrecord"); EmployeeRecordHome emplrecordhome = (EmployeeRecordHome) javax.rmi.portableremoteobject.narrow(result, EmployeeRecordHome.class); // obtain the caller principal. callerprincipal = ejbcontext.getcallerprincipal(); Ein Beispiel für den Einsatz der Operation getcallerprincipal() zeigt diese Folie. Im Beispiel wird die Telefonnummer des Aufrufers der Methode geändert. Zunächst wird mit der Operation getcallerprincipal() der Principal des Aufrufers der Methode betsimmt. 15
16 // obtain the caller principal s name. callerkey = callerprincipal.getname(); // use callerkey as primary key to EmployeeRecord finder EmployeeRecord myemployeerecord = emplrecordhome.findbyprimarykey(callerkey);...}} // update phone number myemployeerecord.changephonenumber(...); Danach wird der Name des Principals mittels der Operation getname() ermittelt. Dieser Name dient als primärer Schlüssel in einer Datenbank und ein Bean für das zum primären Schlüssel gehörende Datenbank-Tupel wird erzeugt. Auf diesem kann dann die Operation zum Ändern der Telefonnummer aufgerufen werden. 16
17 5.3 EJB Security Beispiel für iscallerinrole() public class PayrollBean... { EntityContext ejbcontext; public void updateemployeeinfo(emplinfo info) { oldinfo =... read from database; // The salary field can be changed only by callers // who have the security role "payroll" }} if (info.salary!= oldinfo.salary &&!ejbcontext.iscallerinrole("payroll")) { throw new SecurityException(...); } Ein Beispiel für den Einsatz der Operation iscallerinrole() zeigt diese Folie, bei dem der Wert für das Gehalt geändert werden kann. Dies ist nur möglich, wenn der Principal die Rolle payroll hat. 17
18 5.3 EJB Security Bean Provider kennt keine systemweiten Rollen, da er die Anwendung nicht kennt, in der die Beans eingesetzt werden. Bean Provider muss die im Code benutzten Rollen im Deployment-Deskriptor deklarieren Application Assembler bildet diese Rollen später auf die tatsächlichen Rollen der Anwendung ab. Da vom Standpunkt des Bean Providers aus noch keine systemweiten Rollen eingeführt wurden, muss der Bean Provider alle im Code des EJBs benutzten Rollen im Deployment Descriptor deklarieren. Dies geschieht mit den <security-role-ref >-Elementen. Dies erlaubt dem Application Assembler oder dem Deployer, diese Namen später mit den Rollen zu verbinden, die in der Anwendung definiert werden. 18
19 5.3 EJB Security <enterprise-beans>... <entity> <ejb-name>aardvarkpayroll</ejb-name> <ejb-class>com.aardvark.payroll.payrollbean</ejb-class>... <security-role-ref> <description> This security role should be assigned to the employees of the payroll department who are allowed to update employees salaries. </description> <role-name>payroll</role-name> </security-role-ref>... </entity> Die Folie zeigt ein Beispiel für die Spezifikation einer Rollenreferenz im Deployment Descriptor. Das Element <security-role-ref> enthält den Namen der Rollenreferenz (<rolename>) und eine optionale Beschreibung (<description>). Im <role-name>-element muss der Name der Rolle stehen, wie sie als Parameter in der Methode iscallerinrole() benutzt wurde. In unserem Gehalts-Beispiel einige Folien zuvor war dies die Rolle payroll. 19
20 5.3 EJB Security Sicherheitsaufgaben des Application Assemblers Definiert Sicherheitssicht auf die EJBs mittels eine Menge von Sicherheits-Rollen (security roles) Für jede Sicherheits-Rolle definiert er die zugehörigen Rechte (method permissions). Bildet die vom Bean Provider definierten Rollen- Referenzen auf Sicherheits-Rollen ab. Der Application Assembler definiert eine Sicherheitssicht auf die EJBs im Deployment Descriptor. Die Sicherheitssicht besteht aus einer Menge von Sicherheits-Rollen, welche eine semantische Gruppierung von Erlaubnissen zum Aufruf von EJB-Methoden sind. Der Application Assembler definiert die Erlaubnisse (method permissions) für jede Sicherheits- Rolle. Wenn der Bean Provider Rollen mittels der <security-role-ref>-elemente im Deployment-Deskriptor beschrieben hat, muss der Application Assembler diese Rollen- Referenzen auf die von ihm definierten Sicherheits-Rollen abbilden. 20
21 5.3 EJB Security Definition von Sicherheitsrollen ist optional. (Es gibt dann keine Sicherheitsinstruktionen an den Deployer) Sicherheitsrolle wird im Deployment-Deskriptor definiert. <security-role>: definiert eine Sicherheitsrolle <role-name>: Definiert den Namen der Rolle <description>: Die Rolle kann optional eine Beschreibung bekommen. Die Definition von Sicherheitsrollen im Deployment-Deskriptor ist optional für den Application Assembler. Definiert er keine Sicherheitsrollen, so entschließt sich der Application Assembler dazu, keine Sicherheits-Deployment-Instruktionen an den Deployer zu übergeben. Wenn der Application Assembler jedoch eine Sicherheitsrolle definiert, so muss er/sie folgendes tun: Definiere die Sicherheitsrolle mittels des <security-role> Elements. Benutze das <role-name> Element, um den Namen der Sicherheitsrolle zu spezifizieren. Optional kann das <description>-element benutzt werden, um eine Beschreibung der Sicherheitsrolle zu geben. 21
22 5.3 EJB Security <security-role> <description> This role includes the employees of the enterprise who are allowed to access the employee self-service application. This role is allowed only to access his/her own information. </description> <role-name>employee</role-name> </security-role> <security-role> <description> This role includes the employees of the payroll department. The role is allowed to view and update the payroll entry for any employee. </description> <role-name>payroll-department</role-name> </security-role> Die Folie zeigt ein Beispiel der Sicherheitsrollendefinition im Deployment Descriptor. 22
23 5.3 EJB Security Method Permission definiert eine Erlaubnis zum Aufruf einer EJB-Methode. Method Permission werden im Deployment- Deskriptor als binäre Relation Sicherheitsrollen x EJB-Methoden definiert. Paar (R,M) bedeutet, dass die Sicherheitsrolle R die EJB-Methode M aufrufen darf. Nachdem der Application Assembler die Sicherheitsrollen definiert hat, kann er/sie die Erlaubnisse (method permissions) für die Aufrufe von EJB-Methoden den Rollen zuordnen. Die Method Permissions werden im Deployment Descriptor als binäre Relation auf der Menge der Sicherheitsrollen und der Menge der EJB-Methoden definiert. Ein Paar (R,M) in der Method-Permission-Relation bedeutet dann, dass die Rolle R die Methode M aufrufen darf. 23
24 5.3 EJB Security Method Permissions werden wie folgt definiert: <method-permission>: Definiert eine Liste von Sicherheitsrollen und EJB-Methoden. Sicherheitsrollen werden mittels <role-name> identifiziert. EJB-Methoden werden mittels <method> identifiziert, welches den EJB-Namen (<ejb-name>) und den Methodennamen (<method-name>) enthält. Alle aufgelisteten Rollen dürfen alle Methoden aufrufen. Eine optionale Beschreibung kann hinzugefügt werden (<description>) Die Method Permissions werden im Deployment Descriptor mit dem Element <methodpermission> definiert. Jedes <method-permission> -Element definiert eine Liste einer oder mehrerer Sicherheitsrollen und eine Liste von einer oder mehreren EJB-Methoden. Alle aufgelisteten Sicherheitsrollen dürfen alle aufgelisteten Methoden aufrufen. Jede Sicherheitsrolle in der Liste wird mittels des <role-name>-elements identifiziert und jede EJB- Methode wird über das <method>-element identifiziert. Eine optionale Beschreibung kann dem <method-permission>-element zugeordnet werden (mit dem <description>-element). 24
25 5.3 EJB Security <method-permission> <role-name>employee</role-name> <method> <ejb-name>aardvarkpayroll</ejb-name> <method-name>findbyprimarykey</method-name> </method> <method> <ejb-name>aardvarkpayroll</ejb-name> <method-name>getemployeeinfo</method-name> </method> </method-permission> <method-permission> <role-name>employee</role-name> <method> <ejb-name>employeeservice</ejb-name> <method-name>*</method-name> </method> </method-permission> Die Folie zeigt ein Beispiel für eine <method-permission>-spezifikation. Für die Methodennamen können auch Platzhalter (z.b. *) benutzt werden. Dies bedeutet, dass die Rolle alle Methoden der Bean aufrufen darf. 25
26 5.3 EJB Security Method-Permission-Relation ist die Vereinigung aller methodpermission Elemente Sicherheitsrolle oder EJB-Methode kann in mehreren methodpermission Elementen auftreten. Mit <exclude-list> können Verbote spezifiziert werden. Bei Konflikten (d.h. Methode steht in exclude-list und methodpermission) haben Verbote Priorität. Sind für EJB-Methoden keine Zugriffsrechte spezifiziert, muss der Deployer die Zuordnung zu Sicherheitsrollen vornehmen oder sie als unchecked deklarieren. Die Method-Permission-Relation ergibt sich dann als die Vereinigung aller Method Permissions in den <method-permission>-elementen. Eine Sicherheitsrolle oder EJB- Methode kann in mehreren <method-permission>-elementen auftreten. Der Application Assembler kann zusätzlich mittels des <exclude-list>-elements eine Menge von EJB- Methoden definieren, die nicht aufgerufen werden dürfen. Der Deployer muss dann dafür sorgen, dass kein Zugriff auf eine Methode erfolgt, die in der exclude-list enthalten ist. Wenn eine EJB-Methode sowohl in der exclude-list als auch in der Method-Permission-Relation steht, so muss der Deployer dafür sorgen, dass kein Zugriff erlaubt ist (d.h. Verbote haben eine höhere Priorität als Erlaubnisse). Sind Methoden weder einer Sicherheitsrolle zugeordnet noch in der exclude-list, liegt es in der Verantwortung des Deployers, Method Permissions zu definieren. Dies kann durch Zuordnung der unspezifizierten Methoden zu Sicherheitsrollen geschehen oder der Deployer entschließt sich dazu, dass diese Methoden bei einem Zugriff nicht auf Autorisierung geprüft werden müssen (spezifiziert durch unchecked). 26
27 5.3 EJB Security Application Assembler ordnet die Rollenreferenzen Sicherheitsrollen zu. Spezifiziert im Deployment-Deskriptor mittels <rolelink> Wert von <role-link> muss ein Wert eines <rolename> Elements sein. Muss auch gesetzt werden, wenn die Werte für <rolelink> und <role-name> identisch sind. Definiert der Application Assembler Sicherheitsrollen im Deployment Descriptor, so muss er/sie allen Rollenreferenzen in den <security-role-ref>-elementen eine Sicherheitsrolle zuweisen. Dies erfolgt mittels des <role-link>-elements. Der Wert des <role-link>-elements muss dabei der Name einer Sicherheitsrolle sein (d.h. der Name muss in einem <role-name>- Element auftreten). Ein <role-link>-element muss auch dann explizit benutzt werden, wenn die Werte für <role-name> und <role-link> identisch sind. 27
28 <enterprise-beans>... <entity> <ejb-name>aardvarkpayroll</ejb-name> <ejb-class>com.aardvark.payroll.payrollbean</ejb-class>... <security-role-ref> <description> This role should be assigned to the employees of the payroll department. Members of this role have access to anyone s payroll record. The role has been linked to the payroll-department role. </description> <role-name>payroll</role-name> <role-link>payroll-department</role-link> </security-role-ref>... </entity>... </enterprise-beans> Die Folie zeigt ein Beispiel. Hier wird die vom Bean Provider definierte Rollenreferenz payroll der vom Application Assembler definierten Sicherheits-Rolle payroll department zugeordnet. 28
29 5.3 EJB Security Sicherheitsaufgaben des Deployers Abbilden der Sicherheitssicht auf die Zielumgebung. Zuweisen von Principals zu Sicherheitsrollen. Rollenreferenzen (benutzt im Bean Code) sind über den Link zu Sicherheitsrollen Principals zugeordnet. Muss die fehlenden (optionalen) Aufgaben des Application Assemblers ausführen (z.b. Sicherheitsrollen und Method Permissions definieren) Der Deployer muss die vom Application Assembler definierte Sicherheitsicht auf die Zielumgebung abbilden. Dies beinhaltet die Zuweisung von Principals zu den im Deployment Descriptor definierten Sicherheitsrollen. Der Application Assembler hatte alle Sicherheitsrollen-Referenzen, die im Bean Code benutzt wurden, mit Sicherheitsrollen verbunden. Der Deployer weist daher keine Principals zu Rollen-Referenzen, da die zu den Sicherheitsrollen zugewiesenen Principals automatisch zu den verbundenen Rollen- Refenrenzen zugeordnet sind. Da die Sicherheitsinformationen im Deployment Descriptor für den Application Assembler teilweise optional sind (z.b. die Definition der Sicherheitsrollen), muss der Deployer die vom Application Assembler nicht durchgeführten Aufgaben übernehmen (z.b. Definition der Sicherheitsrollen und Method Permissions). 29
30 5.3 EJB Security Das Rollenmodell von EJB entspricht RBAC 0 RBAC 0 User Rollen Rechte Sessions Principals, denen autorisierte Benutzer zugeordnet sind. Sicherheitsrollen Method Permissions EJB Client/Server-Aufruf, bei dem ein Benutzer einem Principal zugeordnet wird und damit Sicherheitsrollen besitzt. Abschließend kann man feststellen, dass das bei EJBs verwendete Rollenmodell am ehesten dem RBAC 0 Modell entspricht. Die Benutzer (User) im RBAC 0 Modell entsprechen den Principals in EJB, welche einem autorisierten Benutzer zugeordnet werden. Die Rollen im RBAC 0 Modell sind die vom Application Assembler definierten Sicherheitsrollen und die Rechte im RBAC 0 Modell sind die Method Permissions, die Rollen zugewiesen werden. Bei den RBAC 0 Sessions ist die Zuordnung nicht ganz so offensichtlich. Man kann aber einen Client-Aufruf als Session ansehen, bei dem dem Clienten ein Principal zugeordnet wird. Dieser Principal bekommt dann eine Menge von Rollen zugeordnet, die zur Ausführung der Anfragen des Clienten an den Server ausgewertet werden. 30
31 5.3 EJB Security Es gibt bei EJBs keine Rollenhierachien und keine Constraints. Daher weder RBAC 1 noch RBAC 2. EJBs bieten jedoch weder die Möglichkeit Rollenhierarchien zu definieren noch Constraints aufzustellen. Daher ist das in EJB verwendete Rollenmodell weder RBAC 1 noch RBAC 2 (und damit auch nicht RBAC 3 ). 31
32 5.4 CORBA Security CORBA (Common Object Request Broker Architecture) ist eine Spezifikation der OMG (Object Management Group) Ziel ist die Integration von Anwendungen in heterogenen Umgebungen und die Förderung von Objektorientierung. CORBA ist nur eine Spezifikation, keine eigene Implementierung. CORBA (Common Object Request Broker Architecture) wurde von der OMG (Object Management Group) spezifiziert. Die CORBA-Spezifikation hat die Integration von Anwendungen in heterogenen Umgebungen unter Verwendung der Objektorientierung zum Ziel. Grundvoraussetzung für dieses Ziel ist die Interoperabilität der Softwarekomponenten und der Objekte, aus denen sich Anwendungen zusammensetzen. 32
33 5.4 CORBA Security CORBA Objektmodell Objekte haben eine Identität, eine Lebenszeit und eine Schnittstelle (bestehend aus Methoden und Attributen). Objektaufrufe sind nur über definierte Schnittstellen möglich. Trennung schafft Unabhängigkeit von der Implementierung. Im CORBA-Objektmodell haben Objekte eine Identität und eine Lebenszeit (d.h. Objekte werden erzeugt und können auch wieder zerstört werden). Objekte werden über Schnittstellen beschrieben, die aus Attributen und Methoden bestehen. Die Kommunikation zwischen den Objekten erfolgt dann nur über diese definierten Schnittstellen. Dies schafft eine Unabhängigkeit von der Implementierung der Objekte, was in heterogenen Systemen eine wichtige Anforderung ist. 33
34 5.4 CORBA Security Object Management Architecture Applikationsobjekte CORBA Services Common Facilities ORB (Object Request Broker) Domain Objects Die in der CORBA-Spezifikation vorgestellte Architektur, die sogenannte Object Management Architecture (OMA), besteht aus dem Object Request Broker (ORB), Domain-Objekten, CORBA Services, Common Faciclities und Applikations-Objekten. 34
35 5.4 CORBA Security Verteilte Objekte kommunizieren über den ORB plattformunabhängig. Schnittstellen der CORBA-Objekte werden in programmiersprachenunabhängigen Schnittstellenbeschreibungssprache (Interface Definition Language, IDL) beschrieben. ORB sucht die passende Objekt-Implementierung zu einer Client-Anfrage, überträgt die Aufrufparameter, ruft die zur Anfrage passende Methode auf dem Server- Objekt auf und liefert die Ergebnisse zurück. Der ORB bildet das Rückgrat einer verteilten CORBA-Anwendung. Ein ORB ist ein Software- Bus, auf dem sich CORBA-Objekte registrieren lassen können, um so ihr Dienste anderen Objekten zur Verfügung zu stellen. CORBA-Objekte kommunizieren über den ORB plattformunabhängig, d.h. die von einem CORBA-Objekt angebotenen Dienste werden in einer programmiersprachenunabhängigen Interface Definition Language (IDL) beschrieben. Der ORB ist verantwortlich für das Auffinden des zur Anfrage passenden Server-Objekts, für die Übertragung der Aufrufparameter, für den Aufruf der Methode auf dem Server-Objekt und die Rückgabe des Ergebnisses zum Client. 35
EJBs und Sicherheit. Vorlesung: Applikationsserver. Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.
EJBs und Sicherheit Vorlesung: Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich Deklarative Sicherheit Zugriffsrechte auf die EJB-Methoden werden
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrEJB jar.xml und Name Service (JNDI)
EJB jar.xml und Name Service (JNDI) Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich/appserver/index.html Beschreibung der Beans mit Deployment
MehrJ2EE-Praktikum. EJB-Security. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg
J2EE-Praktikum EJB-Security Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 EJB Sicherheit 2 Schnittstelle für den Bean Provider 3 Zusammenfassung EJB Security Allgemeines Sicherheitsziele
Mehr12.4 Sicherheitsarchitektur
12.4 Sicherheitsarchitektur Modellierung Sicherheitsstrategie Systemmodell Sicherheitsmodell Entwurf Architektur Sicherheitsarchitektur Implementierung sicherer Code SS-12 1 Wie wird das Sicherheitsmodell
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrCORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien
CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrCORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu
CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrCORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten
CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard
MehrCORBA. Systemprogrammierung WS 2006-2007
CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrApplet Firewall und Freigabe der Objekte
Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable
MehrPflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright 2013-2014 CD Software GmbH Version:
Pflichtenheft CDIX-Roles Erweiterung des CDIX Berechtigungssystems Autor : CD Software GmbH Copyright 2013-2014 CD Software GmbH Version: Motivation... 3 Organisation... 3 Kompatibilität und Aktivieren
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
Mehr2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)
1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrObjectBridge Java Edition
ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente
MehrInfinigate (Schweiz) AG. Secure Guest Access. - Handout -
Infinigate (Schweiz) AG Secure Guest Access - Handout - by Christoph Barreith, Senior Security Engineer 29.05.2012 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis... 1 2 Secure Guest Access... 2 2.1 Gäste Accounts
MehrAnwendung eines Enterprise Java Beans
Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrLizenzen auschecken. Was ist zu tun?
Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
MehrZustandsgebundene Webservices
Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
Mehr-Testen verteilter Anwendungen
-Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrSANDBOXIE konfigurieren
SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:
MehrIBM Software Demos Tivoli Provisioning Manager for OS Deployment
Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,
Mehr4.2 Workshop EJB. Entwicklung von EJB-Anwendungen
4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrAnforderungen an die HIS
Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrWorkflow, Business Process Management, 4.Teil
Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung
MehrGuideline. Facebook Posting. mit advertzoom Version 2.3
Guideline Facebook Posting mit advertzoom Version 2.3 advertzoom GmbH advertzoom GmbH Stand November 2012 Seite [1] Inhalt 1 Facebook Posting Schnittstelle... 3 1.1 Funktionsüberblick... 3 2 Externe Ressource
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
Mehr2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway
MehrWindows 8 Lizenzierung in Szenarien
Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrModul Software Komponenten 10 Komponentenarchitektur
Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrLive Update (Auto Update)
Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrKonfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014
Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
MehrEigenen WSUS Server mit dem UNI WSUS Server Synchronisieren
Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrGEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY
GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als
MehrLizenzierung von System Center 2012
Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im
MehrClient/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung
Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)
MehrJava RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrStarthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum
Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrInternetanwendungstechnik (Übung)
Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,
MehrEffiziente Administration Ihrer Netzwerkumgebung
Admin Anwender Aufträge, Freigaben Verwaltet Benutzer, Mailboxen, Ordner und vergibt Berechtigungen Anbindung von Fremdsystemen Erzeugt und pflegt Mailboxen und Datenbanken Benutzerinformationen und Konventionen
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrParallele und Verteilte Systeme
Parallele und Verteilte Systeme Einführung in die Netzwerk Programmierung mit Java : JavaIDL Hello World (C) J.M.Joller 1 Zeitlicher Ablauf Hello World Übersicht IDL Interface Beschreibung Der Client (Der
MehrDatenbank-Verschlüsselung mit DbDefence und Webanwendungen.
Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine
MehrEin Ausflug zu ACCESS
Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet
MehrVirtual Private Network
Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine
MehrBeschreibung des MAP-Tools
1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrHow to install freesshd
Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
MehrKostenstellen verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrHTBVIEWER INBETRIEBNAHME
HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
Mehr